ShiZhongShuiDi
失重水滴
采纳率40%
2020-09-12 11:02

token不能为空,请传输token凭证。

20
已采纳

图片说明

图片连个红色框框 .com之前都是一样的 应该不是跨域请求吧

在点击详情按钮之后 在控制台有这个链接

单独放在浏览器地址栏请求就会显示
{"code":602,"msg":"token不能为空,请传输token凭证"}

使用下面代码请求也会显示token不能为空

 function getToken(){
             var strcookie = document.cookie;//获取cookie字符串
             var arrcookie = strcookie.split("; ");//分割
             //遍历匹配
             for ( var i = 0; i < arrcookie.length; i++) {
                 var arr = arrcookie[i].split("=");
                 if (arr[0] == "sys-wms-token"){
                     return arr[1];
                 }
             }
             return "";
         }
         var xmlhttp;
         var url ="http://dops.0071515.com/tmsCenter/order/getSupplierSaleOrderDetail?saleOrderCode=C367951";
         xmlhttp = new XMLHttpRequest();
         xmlhttp.open("GET", url, true);
         xmlhttp.setRequestHeader('Authorization', getToken());
         xmlhttp.send();
         xmlhttp.onreadystatechange = function(){
             if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                 console.log(xmlhttp.responseText)
             }
         }
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

4条回答

  • kingwolf_JavaScript 浴火_凤凰 7月前

    Authorization相当于自定义header 需要服务器设置
    跨域
    Access-Control-Allow-Origin:*
    Access-Control-Allow-Methods:GET,POST
    Access-Control-Allow-Headers:Authorization
    才可以

    点赞 评论 复制链接分享
  • showbo GoCityPass新加坡曼谷通票 7月前

    客户端ajax请求默认不允许跨域,除非对方域名设置过Access-Control-Allow-Origin允许跨域请求,并且token要另外设置Access-Control-Allow-Headers
    允许指定的请求头才行。

    你这种需求要通过服务器端来请求,而不是客户端xhr直接请求跨域的域名

    点赞 4 评论 复制链接分享
  • qq_37049128 菜鸟咸鱼一锅端 7月前

    都请求成功有返回了,怎么可能是跨域的问题。接口要在请求头加鉴证吗?问一下后端同志

    点赞 评论 复制链接分享
  • jingluan666 jingluan666 7月前

    后台token的键名称是Authorization吗,到后台打断点调试下,请求的头有哪些信息

    点赞 评论 复制链接分享