分享者:幼年程序猿,原文地址
一般都是傳字符串到下一頁,如果要想傳對象怎么辦呢?
我的解決辦法是先將對象轉(zhuǎn)換為json字符串然后到下個頁面將json字符串,再轉(zhuǎn)化為對象。如下:
let str=JSON.stringify(e.currentTarget.dataset.item);wx.navigateTo({url: '../toMybaby/babyDetail/babyDetail?jsonStr='+str,success: function (res) {// success},fail: function () {// fail},complete: function () {// complete}})onLoad:function(options){// 生命周期函數(shù)--監(jiān)聽頁面加載let item=JSON.parse(options.jsonStr);this.setData({ward:item});},分享者:微風&細雨,原文地址 wx.request使用
代碼如下:
wx.request({url: 'https://192.168.191.1:8443/vocation/bbb',data: {name:"111",password:"123",id:"123"},method: 'post', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT// header: {}, // 設(shè)置請求的 header// dataType:JSON,//該語句會將服務(wù)器端的數(shù)據(jù)自動轉(zhuǎn)為string類型success: function(res){// successconsole.log("返回數(shù)據(jù)為:"+res.data.employees[1].firstName);console.log('submit success');},fail: function() {// failconsole.log('submit fail');},complete: function() {// completeconsole.log('submit comlete');}})服務(wù)器端的代碼:
JSONObject jsonObject = JSONObject.fromObject(getRequestPayload(request));String name=jsonObject.get("name").toString();String password=jsonObject.get("password").toString();String s = "";response.setContentType("application/json;charset=utf-8");response.setHeader("Access-Control-Allow-Origin", "*");System.out.println(name + " " + password);s = "{\"employees\": [{ \"firstName\":\"John\" , \"lastName\":\"Doe\" },{ \"firstName\":\"Anna\" , \"lastName\":\"Smith\" },{ \"firstName\":\"Peter\" , \"lastName\":\"Jones\" }]}";response.getWriter().write(s);數(shù)據(jù)傳送到微信端是[object object]的形式,因此直接可以通過res.data.employees1.firstName獲得對象的數(shù)據(jù)
結(jié)果如下: