VUE请求后台报400这个错误怎么回事?

3131975015
  • 411

微信截图_20191121095754.png
请求头请求体带的参数都和小程序一样 小程序没问题 但是vue中返回400这个错误 这是怎么回事?
我觉得就是请求体中的'grant_type': 'password'没有发送到后台或者格式不对 因为我在小程序中把'grant_type': 'password'去掉也会出现这个错误 但是不知道vue中哪里写的不对了

this.$axios({
        method: 'post',
        headers: {
            'grant_type': 'password',
            'Content-Type': 'application/x-www-form-urlencoded',
            'Authorization': 'Basic dGVzdDp0ZXN0',
            'scope': 'server'
        },
        url: url,
        data: JSON.stringify({
            'username': '17322013879',
            'password': 'w1234567898',
            'scope': 'server',
            'grant_type': 'password'
        }),
    }).then(res=>{
      console.log(res)
})

小程序没问题
微信截图_20191121100229.png

VUE请求体
vue.png

回复
阅读 3.5k
1 个回答

即然你指定的 Content-Type 是 URLEncoded(键值对)格式,为何传参的时候却用的 JSON.stringify 转成 JSON 格式了?

要么不要 JSON.stringify,直接传入一个对象即可,由 axios 自行处理;要么用 qs 这个库,把 JSON.stringify 改为 qs.stringify

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏