jQuery / Ajax获取本地但不是远程页面

jQuery / Ajax fetches local but not remote pages

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
XmlHttpRequest error: Origin null is not allowed by Access-Control-Allow-Origin

我仍然不明白为什么这个代码在加载本地服务器页面(localhost)时工作正常,但在尝试获取远程数据时什么都不显示

1
2
3
4
5
6
7
8
$(document).ready(function(){

    $.get(
   "message.html",
    function(data) { $("div").html(data); },
   "html"
    );
});

并显示远程html文件给我没有错误,但没有数据:

1
2
3
4
5
6
7
8
$(document).ready(function(){

    $.get(
   "http://viralpatel.net/blogs/2009/04/jquery-ajax-tutorial-example-ajax-jquery-development.html",
    function(data) { $("div").html(data); },
   "html"
    );
});

问候


存在内置限制以防止来自浏览器的跨域Ajax请求。 几乎所有浏览器都实现了这一点

有一些解决方法,例如这里的文章或使用JSONP。 但这是对从浏览器发送的Ajax请求的基本限制。 如果您正在使用ASP.NET Encosia,那么在使用自定义HttpHandler进行代理方面也有很好的建议。

另请参阅:使用Ajax的跨域限制 - JSON