我在火狐上找到了我的SuperAgent (http://visionmedia.github.com/superagent/)问题的根源。不确定是SuperAgent在它的AJAX调用中做的,还是FireFox触发的。
实际上,每次我进行AJAX调用时,都会在实际的AJAX调用之前在URL上触发一个OPTIONS方法。非常烦人,因为服务器目前不支持选项。我怎么才能打电话而不让服务器变得糟糕和重新编码呢?
谢谢
发布于 2012-06-29 13:23:39
好了,我找到了更多细节。谢天谢地,Safari上的测试让我对实际发生的事情有了更多的了解,我在这里应用了我的知识。
浏览器在进行实际的AJAX调用之前调用OPTIONS方法似乎是一种标准。看起来有点专横。
因此,为了解决这个问题,我简单地在反向代理服务器中添加了一个通用组件来处理每个OPTIONS调用。你可以看到下面的代码问题:
Play! 2.0 easy fix to OPTIONS response for router catch-all?
如果你想了解更多关于浏览器为什么要这样做的信息,请看这里:
Why am I getting an OPTIONS request instead of a GET request?
OPTIONS来自CORS标准。
发布于 2013-04-24 20:47:08
在phantomjs中禁用网络安全也有助于解决这个问题(--web-security=no)。因为我无法访问API服务器来更改OPTION方法。
https://stackoverflow.com/questions/11256077
复制相似问题