Vue:axios中POST请求传参问题

本文介绍了一个Vue项目中使用Axios组件进行POST请求时遇到的问题及解决方案。当向后端(Python + Django)发送POST请求时,发现传递的数据无法被正确解析。通过调整Axios配置中的transformRequest属性并设置Content-Type为application/x-www-form-urlencoded,成功解决了这一问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

转载于:https://www.cnblogs.com/WQLong/p/8316152.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值