我在JQuery中有一个非常基本的AJAX函数:
$.ajax({
url: "http://www.google.com",
dataType: "html",
success: function(data) {
alert(data);
}
});
但data
总是一个空字符串,无论我去哪个网址......为什么会这样?我在http://localhost:3000
本地运行它,并使用JQuery 1.4.2。
但是,如果我做出本地回复,请执行以下操作:
$.ajax({
url: "http://localhost:3000/test",
dataType: "html",
success: function(data) {
alert(data);
}
});
...它返回该地址的html页面。我在这里缺少什么?
答案 0 :(得分:4)
出于安全原因,您正在遇到同源策略,阻止您向其他域发出ajax请求。
您无法向以下网址发出请求:
您可以向以下网址发出请求:
答案 1 :(得分:2)
您无法从其他域加载数据。这是一个安全功能。
这是一个链接,讨论如何从您的Web服务器创建代理以克服其限制。
http://jquery-howto.blogspot.com/2009/04/cross-domain-ajax-querying-with-jquery.html