我目前正在使用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问题,但除非我可以在本地测试,否则无法确定。