小程序如何传数组数据到vs后台中
首先小程序要跟vs运行的状态打通,首先要修改配置,也就是说调试的时候,小程序一使用Post请求后台的方法时就能让vs进入调试状态。
1.修改vs中的配置,注意这个.vs文件,如图:
找到这个文件
然后打开这个文件,找到如下节点:
192.168.1.123是我本机的内网IP地址
然后小程序的开发工具也要修改下
勾上就可以了让小程序开发工具和vs调试同步经行了。
现在开始让vs的一般处理程序文件中传入数组了,小程序要将json数组转换成字符串才行
代码文件:
* 生命周期函数--监听页面显示 */ onShow: function() { let data = { s : '2', giftList : JSON.stringify([{ giftId: 10, giftNum: 2 }, { giftId: 12, giftNum: 4 }]) } console.log(data) wx.request({ url: 'http://192.168.1.123:20660/mobile/app/api/ProgramAPI.ashx?Method=Getshuzu', data: {data:JSON.stringify(data)}, method: 'POST', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT header: { 'content-type': 'application/x-www-form-urlencoded;charset=utf-8' }, success: function (res) { } })
后台代码:
public void Getshuzu() { string s = Request["data"].ToString(); string getAuthorize = "[" + s + "]"; Newtonsoft.Json.Linq.JArray javascript = (Newtonsoft.Json.Linq.JArray)JsonConvert.DeserializeObject(getAuthorize); Newtonsoft.Json.Linq.JObject obj = (Newtonsoft.Json.Linq.JObject)javascript[0]; string datas = obj["giftList"].ToString(); List<AppletGift> result = JsonConvert.DeserializeObject<List<AppletGift>>(datas); for (int i = 0; i < result.Count; i++) { AppletGift Agift = result[i]; int id = Agift.giftId; int num = Agift.giftNum; //业务处理 } }
AppletGift.cs
using System; using System.Collections.Generic; using System.Text; namespace Chain.Model { /// <summary> /// 小程序 礼品 /// </summary> public class AppletGift { /// <summary> /// 礼品的ID /// </summary> public int giftId { get; set; } /// <summary> /// 礼品的数量 /// </summary> public int giftNum { get; set; } } }
(本人微信号:Liberty-bcy)如果,你正在埋怨命运不眷顾,那请记住:命,是失败者的借口;运,是成功者的谦词。