如何使用JavaScript创建Cors Preflight检查

时间:2016-10-10 06:13:59

标签: javascript cors preflight

我目前正在使用Web Api服务器,但是在预检检查OPTIONS期间,即使服务器返回200,它看起来也能保持连接。

现在我无法重现我自己的问题,因为我用Fiddler测试我的服务器。然而,对于使用Cordova的同事,可以看到在iOS上的Safari浏览器中,它在收到200之后永远不会关闭连接。

所以我想做的只是在本地运行一个javascript,它会对我的服务器进行预检检查。这也是OPTIONS调用。我继续讨论以下示例:

var xhr = new XMLHttpRequest();
xhr.open('POST', "https://files.example.com", true);                                                                                                                            
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.onreadystatechange = function () {
  if (this.status == 200 && this.readyState == 4) {
      console.log('response: ' + this.responseText);
  }
};

xhr.send();

但是不首先对我执行OPTIONS调用,至少不在Firefox中执行。 我想在本地重新创建问题的原因是,我可以在服务器上解决问题,我认为可能是ASYNC WAIT问题,但除非我可以在本地测试,否则无法确定。

0 个答案:

没有答案