application/json和application/x-w

2017-08-18  本文已影响0人  CoderZNB

最近在搞react-native 跟 微信小程序的时候,用到里面的网络请求请求数据遇到缺少必须参数问题:
我已经确定参数填写无误,为什么还是报我缺少必要参数问题呢

原来是我们PHP没有做JSON解析;
application/jsonapplication/x-www-form-urlencoded都是表单数据发送时的编码类型。
默认地,表单数据会编码为 application/x-www-form-urlencode。就是说,在发送到服务器之前,所有字符都会进行编码。如果我们传application/json,并且PHP人员没做JSON解析,肯定会报缺少必要参数.所以如果PHP不改,那就我们自己改了....

微信请求方法

wx.request({
        url: 'https://seller.yueduomi.com/index.php?m=Admin&c=Index&a=index', 
        method: 'POST',
        data: { seller_id: 2 },
        header: {
          'content-type': 'application/json'
        },
        success: function (res) {
          console.log(res.data)
        }
      })

'content-type': 'application/json' 换成'content-type': 'application/x-www-form-urlencoded'就完美的请求出来了

RN请求

let url = 'https://seller.yueduomi.com/index.php?m=Admin&c=Index&a=allFans'
        fetch(url,{
            method:'POST',
            headers:{
                'Content-Type': 'application/x-www-form-urlencoded',
            },
            body:'seller_id=1&page='+this.state.page
        })
            .then((response)=>response.json())
            .then((responseJson) =>{
                console.log(responseJson)
            })
            .catch((error)=>{

            })

上一篇 下一篇

猜你喜欢

热点阅读