Vue:axios中POST请求传参问题

Posted Long_WangQing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vue:axios中POST请求传参问题相关的知识,希望对你有一定的参考价值。

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

以上是关于Vue:axios中POST请求传参问题的主要内容,如果未能解决你的问题,请参考以下文章

vue axios请求发送传参undefined

vue axios post 传参数

vue|axios发送post请求详解

VUE axios POST 发送跨域 cros 问题

VUE axios post请求 跳转跨域问题

解决Vue axios post请求,后台获取不到数据的问题方法