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成功跳出这个坑~