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

时间:2011-10-06 11:42:47

标签: jquery ajax

  

可能重复:
  XmlHttpRequest error: Origin null is not allowed by Access-Control-Allow-Origin

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

$(document).ready(function(){

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

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

$(document).ready(function(){

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

此致

1 个答案:

答案 0 :(得分:4)

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

有一些解决方法,例如文章here或使用JSONP。但这是对从浏览器发送的Ajax请求的基本限制。如果你正在使用ASP.NET Encosia也有一个很好的建议proxying using a custom HttpHandler

另请参阅:Cross Domain Limitations With Ajax - JSON