我在godaddy共享linux服务器上遇到ajax请求时遇到了奇怪的行为。 该请求在我测试过的许多其他服务器上都能正常工作,但在这一点上,由于某种原因,GET请求变成了OPTIONS请求。
这是js代码(使用mootools 1.1):
var a = new Ajax(myurl,{
method: 'get',
onComplete: function( response ){
$('my_div').style.display="none";
output_display( response );
}
});
a.request();
您可以看到该方法被定义为GET。然而,当我看到Firebug发出请求时,它会作为OPTIONS请求传递。关于如何或为何会发生这种情况的任何想法?
答案 0 :(得分:2)
通常,在XHR(ajax)请求期间出现这种行为有两个原因。
底线:要使XHR正常工作,由于访问控制限制,协议和主机名需要匹配。
读取:
http://www.w3.org/TR/access-control/#cross-origin-request-with-preflight0
围绕跨域策略限制的方法: http://www.nczonline.net/blog/2010/05/25/cross-domain-ajax-with-cross-origin-resource-sharing/
等等。