首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何传递XMLHttpRequest请求的标头

如何传递XMLHttpRequest请求的标头
EN

Stack Overflow用户
提问于 2017-07-04 17:01:03
回答 1查看 8.7K关注 0票数 2

我有一个api,它需要很少的头才能获得response.Below,它就是工作的邮递员。

现在,Iam执行http调用来使用以下代码是Iam使用的

代码语言:javascript
复制
 var jobendpoint = 'http://rundeck:4440/api/14/project/Demo/jobs';
 var http = new XMLHttpRequest();
 http.open('GET',jobendpoint,false);
    http.setRequestHeader('Accept','application/json');
    http.setRequestHeader('Content-type','application/json');
    http.setRequestHeader('X-Rundeck-Auth-Token','XgTeIxQLUiv3lOSl8cXNkt4bxIGFjbzl');
 http.send();
  var joblist = http.responseText;
  http.onreadystatechange = function() {//Call a function when the state changes.
        if(http.readyState === XMLHttpRequest.DONE && http.status == 200) {
        joblist = http.responseText;
         }
        }
        return joblist
}

但是当我尝试这样做的时候,它是不起作用的,我可以看到标题不是正确的,passed.How,我们可以把这些头传递给这个,获得call.can,有人帮助。

更新错误*我得到403个禁止错误,因为我的标题不正确set.Below是火狐的网络选项卡中传递的标题的屏幕截图

我在firefox /w选项卡中直接编辑了标题并发送了调用,worked.Below就是屏幕快照

怎样才能像我在第二个屏幕截图中那样添加标题

EN

回答 1

Stack Overflow用户

发布于 2017-07-04 17:26:12

XMLHttpRequest.setRequestHeader()的MDN页面声明:

对于您的自定义字段,当您向跨域发送请求时,可能会遇到“在飞行前响应中不允许访问控制-允许-头”异常。在这种情况下,您需要在服务器端的响应头中设置"访问-控制-允许-头“。

在您的示例中,X-Rundeck-Auth-Token头是这样一个自定义标头,因此必须在来自服务器的Access-Control-Allow-Headers响应头中列出这个标头,否则您将得到上述错误,请求将失败。

AcceptAccept-LanguageContent-TypeContent-Length是可以设置的白色标题,无需在Access-Control-Allow-Headers头中指定它们;还有一个请求标头列表是永远不能设置的,即使列出了它们。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44911095

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档