有人可以告诉我这段代码有什么问题吗?它在IE8中运行良好,但在FF3中运行不正确。
$.get("http://google.com/", function(data) { alert(data); });
它显示警报窗口,但它是空的。
答案 0 :(得分:8)
我认为这与两个浏览器之间的跨域AJAX限制有关。对于AJAX,FireFox更严格(安全)。您的代码违反了FireFox的"Same Origin Policy“
希望这有帮助!
答案 1 :(得分:7)
由于same origin policy,该代码不适用于Firefox 或 IE。您可能已经为网站的区域设置了安全设置,以便能够跨域访问数据:
要更改此行为(您可能应该这样做),请转到Internet设置 - >安全 - >选择当前网站的区域 - >选择自定义级别...
答案 2 :(得分:3)
请阅读$ .get()(或任何其他jQuery AJAX调用)的文档。
http://api.jquery.com/jQuery.get/
它在页面上指定了以下内容:由于浏览器安全限制,大多数“Ajax”请求都遵循相同的原始策略;请求无法成功从其他域,子域或协议中检索数据。
这可能是您问题的根源。
答案 3 :(得分:2)
您无法使用AJAX向其他域发送请求。
在IE中,您显然启用了此选项。
转到“Internet选项”,“安全”,“自定义级别”,“其他”以及禁用“域中的访问数据源”。
答案 4 :(得分:0)
出于安全考虑,AJAX不允许这样的跨站点请求 - 我很惊讶它在IE中有效。不过,它应该在您自己的域中工作。