AD:靠谱的微信小程序外包开发

admin

admin

发表于 2017-07-01 13:03:42

摘要:微信小程序开发者社区(www.mntuku.cn)为您提供:面向新手系列《五》POST请求,服务器接收不到data参数问题
相关的资讯,希望对您有帮助。

面向新手系列《五》POST请求,服务器接收不到data参数问题

分享者:薛定谔旳猫 需要修改以下三个步骤1. Content-Type: application/json用在get请求中没问题.POST请求就不好使了.需要改成: Content-Type: application/x-www-form-urlencoded 2. 加上method: POST 3.dat ...

分享者:薛定谔旳猫
需要修改以下三个步骤
1. Content-Type: application/json用在get请求中没问题.
POST请求就不好使了.需要改成: Content-Type: application/x-www-form-urlencoded

2. 加上method: POST


3.data: { cityname: 上海, key: 1430ec127e097e1113259c5e1be1ba70 }写成json格式这样也是请求不到数据的.需要转格式.
3.1
var Util = require( ../../utils/util.js );
data: Util.json2Form( { cityname: 上海, key: 1430ec127e097e1113259c5e1be1ba70 }),


3.2
function json2Form(json) {  
    var str = [];  
    for(var p in json){  
        str.push(encodeURIComponent(p) + = + encodeURIComponent(json[p]));  
    }  
    return str.join(&);  
}  
module.exports = {  
  json2Form:json2Form,  

}

整体示例代码:
1:
//获取应用实例  
var app = getApp()  
Page( {  
  data: {  
    toastHidden: true,  
    city_name: ,  
  },  
  onLoad: function() {  
    that = this;  
    wx.request( {  
      url: http://op.juhe.cn/onebox/weather/query,  
      header: {  
        Content-Type: application/x-www-form-urlencoded  
      },  
      method: POST,  
     //data: { cityname: 上海, key: 1430ec127e097e1113259c5e1be1ba70 },  
      data: Util.json2Form( { cityname: 上海, key: 1430ec127e097e1113259c5e1be1ba70 }),  
      complete: function( res ) {  
        that.setData( {  
          toastHidden: false,  
          toastText: res.data.reason,  
          city_name: res.data.result.data.realtime.city_name,  
          date: res.data.result.data.realtime.date,  
          info: res.data.result.data.realtime.weather.info,  
        });  
        if( res == null || res.data == null ) {  
          console.error( 网络请求失败 );  
          return;  
        }  
      }  
    })  
  },  
  onToastChanged: function() {  
    that.setData( { toastHidden: true });  
  }  
})  
var that;  

var Util = require( ../../utils/util.js );
2:
function json2Form(json) {  
    var str = [];  
    for(var p in json){  
        str.push(encodeURIComponent(p) + = + encodeURIComponent(json[p]));  
    }  
    return str.join(&);  
}  
module.exports = {  
  json2Form:json2Form,  
}

33阅读 | 0评论
你的回应
写文章

7064