使用Axios 改了头部修改application/x-www-form-urlencoded格式无效

记录一下今天后端接口的问题

拿了后端接口的数据测试,一开始怀疑原因在前端的vue框架上

后端同事没用过vue,差点被甩锅。。。。这锅我不接啊!!!

之后写了一个jQuery测试接口,让他先解决跨域问题

疑难杂症:postman测试通过,但axios还是报跨域问题_bug收集-CSDN博客

跨域问题解决了,参数后端收不到

axios.defaults.headers.post['Content-Type'] ='application/x-www-form-urlencoded; charset=UTF-8';
axios.defaults.headers.post['Access-Control-Allow-Origin'] = '*';

改了头部,没有作用

之后新写了一个页面测试jQuery的ajax请求,接口在没有被JSON.stringfy()的情况下,请求成功

 // var data = JSON.stringify({username:"admin",password:"1234"})
    var data = {username:"admin",password:"1234"}
    $.ajax({
        type: 'POST',
        url: 'http://ppqq.fortiddns.com:30080/api/login',
        data: data,
        // dataType: dataType,
        success: function (res) { console.log(res,"success")},
        error: function (err) {console.log(err,"err")}
        })

后来发现,vue框架里面使用的axios将JavaScript对象序列化为JSON

看了中文网手册axios中文文档|axios中文网 | axios,于是改成了这样的写法

export function login(name, password){
  const params = new URLSearchParams()
  params.append('username', name);
  params.append('password', password)
  return request(MLOGIN,METHOD.POST,params)
}

于是接口请求成功...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值