我在使用任何浏览器时都遇到了一个奇怪的问题。当我使用JSON文件从本地计算机向外部网站发送请求时。尽管指定了GET,Apache仍会收到OPTIONS请求而不是GET。经过一番研究后,它看起来像是一个跨站点请求问题,然而,我发现大多数文章的旧/ bug已经修复。有没有人有任何想法,为什么会发生这种情况以及如何解决。尽管GET被设置,但jquery JSON发出OPTIONS请求
感谢
$.ajax({
type: 'GET',
url: http://mywebsite.com/getjsn.json,
dataType: "json",
cache: false,
success: function(data, textStatus, XMLHttpRequest) {
// do something.
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
// deal with error.
},
complete: function(XMLHttpRequest, textStatus) {
// all done.
}
});
asdasd
这并不能解释为什么一个'HTTP请求GET'会来作为一个HTTP' OPTIONS'请求。 jQuery没有设置任何类型。 – 2010-09-09 14:46:58
您是否检查过“发送”到服务器的标题?如果不是,请这样做并附加到您的OP – RobertPitt 2010-09-09 14:54:15
我相信这在https://developer.mozilla.org/En/HTTP_access_control中有解释。我想詹姆斯正在使用一个现代浏览器,并且该浏览器试图询问目标服务器是否允许该请求。尽管这在所有的浏览器中都不支持,所以我仍然建议我以前的解决方案。 – BBonifield 2010-09-09 15:06:54