51Testing软件测试论坛

标题: ajax 401 但postman成功 [打印本页]

作者: 测试积点老人    时间: 2022-2-17 15:34
标题: ajax 401 但postman成功
问题遇到的现象和发生背景

登录之后拿到token之后,请求后端数据的时候加上token报401了,弹出浏览器登录的框

postman的请求

[attach]136494[/attach]

ajax


  1.       $.ajax({
  2.             headers: {
  3.                 'Authorization': "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJlVzZXJDb2RlIjoidGVzdGxvZ2luIn0.XEyxn0w71UCCkMVwLFRiEv-x4beldv-Nza4OzpD5xEk"
  4.                 , 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'  //multipart/form-data;boundary=--xxxxxxx   application/json
  5.             },
  6.             type: 'put',
  7.             url: "http://XXX.XXXX.xxxx:xxx/getLoginUserInfo?userCode=testlogin",
  8.             dataType: 'jsonp',
  9.             contentType: 'application/json',
  10.              success: function (res) {
  11.                 console.log(res);
  12.             }, error: function (err) {
  13.                 console.log(err)
  14.             }
  15.         })
复制代码

运行结果及报错内容

[attach]136495[/attach]

[attach]136496[/attach]

[attach]136497[/attach]

我的解答思路和尝试过的方法

网上找了很久说是 , 这个 401 的状态码是因为鉴权不通过的原因造成的。
你问题的原因在于, Content-Type 类型不正确,应该是 form 表单提交的方式。所以可以改成下面的这种格式试试看

headers['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8';
但是没效果
求各位赐教!



作者: 海海豚    时间: 2022-2-18 09:32
就是鉴权的问题,看看是否是token过期了
作者: qqq911    时间: 2022-2-18 10:28
用post方法啊,不要用put
作者: kallinr    时间: 2022-2-18 12:06
过期了吧
作者: jingzizx    时间: 2022-2-18 16:24
对不对啊




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2