首先小程序要跟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; }} }