【笔记 】weex POST请求 body数据服务器获取不到

var stream = weex.requireModule('stream')

weex POST请求,服务器拿不到参数,之前是按照下面方式整理,始终获取不到数据,也会提示数据请求成功

                //JSON.stringify
                var body = JSON.stringify({
                    loginName:this.userName,
                    password:this.userPassword,
                    });

网上说头部改为下面就可以,试过并未解决

var headers={'Content-Type':'application/x-www-form-urlencoded'};

后来发现Body传入参数,只能传啊a=1&b=2…这种参数形式,不可传对象{a:1,b:2,…},用JSON.stringify({a:1,b:2,…})不行。在jquery中,传入对象框架会自动封装成formData的形式,fetch没有这个功能。

let body = 'loginName=userName&password=1';  

也可以通过方法处理成‘a=1&b=2…’字符串

var config = require('./tool/config.js')

// body字符串的格式是‘param1=p1&param2=p2’。
export function toParams(obj) {
    var param = ""
    for(const name in obj) {
        if(typeof obj[name] != 'function') {
            param += "&" + name + "=" + encodeURI(obj[name])
        }
    }
    return param.substring(1)
}

                var body = config.toParams({
                    loginName:this.userName,
                    password:this.userPassword,
                    })
    原文作者:金色麦垛
    原文地址: https://segmentfault.com/a/1190000012877174
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞