vue 的 ajax 请求用的是 axios 组件,结果在用到 post 请求的时候,发现给后台传 data 时,后台 (python 语言 + django 框架) 接收不到.
后台的 request.body 显示出,我给传送的是 data 被 django 打包成了一个 obj 中的 key 值,value 为空数组.导致后台获取不到.
解决方案:
axios({
method:'POST',
url:ap_service_url+opt.url,
data:opt.obj,
transformRequest: [function (data) {
let ret = ''
for (let it in data) {
ret += encodeURIComponent(it) + '=' + encodeURIComponent(data[it]) + '&'
}
return ret
}],
headers:{'Content-Type': "application/x-www-form-urlencoded"
}).then(function(res){
/*请求成功*/
}).catch(function(err){
/*请求失败*/
})
通过添加 transformRequset 成功跳出这个坑~
来源: http://www.bubuko.com/infodetail-2466930.html