找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索本站精品资源

首页 教程频道 小程序开发 查看内容

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

作者:模板之家 2018-1-31 10:43 1568人关注

需要修改以下三个步骤 1. Content-Type: application/json用在get请求中没问题. POST请求就不好使了.需要改成: Content-Type: application/x-www-form-urlencoded 2. 加上method: POST 3.data: { cityname: 上海, ke ...

需要修改以下三个步骤
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,  

}


路过

雷人

握手

鲜花

鸡蛋
原作者: 模板之家 来自: 网络收集

全部回复(0)