飞行前的响应没有HTTP正常状态

时间:2018-08-24 08:19:44

标签: javascript jquery cors zendesk zendesk-api

我正在尝试从本地主机托管的站点向第三方REST API发出POST请求。这是发出请求的代码

var url = "https://[externaldomain]/api/custom_resources/resources";


var data = {
  "data": {
    [some data]
     }
};

var request = new XMLHttpRequest();

 request.onreadystatechange = function() {
      if (this.readyState==4)
      {
         console.log(this.response);
         console.log(this.responseText);
      }
}

request.open('POST', url, true);
request.setRequestHeader("Authorization", "Bearer " + token);
request.setRequestHeader('Content-type', 'application/json');
request.send(JSON.stringify(data));

如果我在Chrome中使用它,我会得到

  

选项https://[mydomain].zendesk.com/api/custom_resources/resources 404(未找到)   初始化@ test.js:57   onclick @ test.html:28   test.html:1无法加载https://[mydomain].zendesk.com/api/custom_resources/resources:对预检请求的响应未通过访问控制检查:所请求的资源上没有'Access-Control-Allow-Origin'标头。因此,不允许访问来源“ http://localhost”。

通过下载This extension,我可以将错误消息更改为

  

Blockquote   test.js:57选项https://[mydomain].zendesk.com/api/custom_resources/resources 404(未找到)   初始化@ test.js:57   onclick @ test.html:28   test.html:1无法加载https://[mydomain].zendesk.com/api/custom_resources/resources:飞行前响应没有HTTP正常状态。

但是,我似乎无法通过。据我了解,系统在发出POST之前正在发送OPTIONS请求,但未收到答案。有什么我可以改变的方法来使它起作用吗?

一些附加说明:

  • 我用[mydomain]更改了域名,但这是一个有效的域
  • 在向第三方REST API发出请求时,我只能在客户端进行更改

谢谢

0 个答案:

没有答案