JQuery.ajax成功函数返回空

时间:2010-05-05 01:19:10

标签: jquery ajax null response

我在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页面。我在这里缺少什么?

2 个答案:

答案 0 :(得分:4)

出于安全原因,您正在遇到同源策略,阻止您向其他域发出ajax请求。

无法向以下网址发出请求:

  • 另一个域名
  • 另一个端口,即使在同一个域中
  • 兄弟域名

可以向以下网址发出请求:

  • 同一个域名
  • 当前域的子域

You can read more about it here

答案 1 :(得分:2)

您无法从其他域加载数据。这是一个安全功能。

这是一个链接,讨论如何从您的Web服务器创建代理以克服其限制。

http://jquery-howto.blogspot.com/2009/04/cross-domain-ajax-querying-with-jquery.html