同一域上的跨域jquery ajax错误

时间:2012-10-06 22:11:45

标签: jquery ajax

所以问题是我一直收到这个错误。它是非常间歇性的,看起来像Loch Ness Monster bug。因为它从未在我的系统上看到过我只是有错误报告我检查了堆栈溢出。只有2个问题像我一样但没有答案。所以这是代码。

$(function() {
    $.get("http://mysite.com/menu/popoutmenu1.php", {}, function(response) {
        $("body").append(response);
    })
})

当执行该代码时(显然不是我正在使用的代码的完全复制品),我收到此错误。

XMLHttpRequest cannot load http://www.mysite.com/menu/popoutmenu1.php. 
Origin http://mysite.com is not allowed by Access-Control-Allow-Origin.

现在这在我的电脑上运行得非常好,但在我的朋友电脑上(它在某些网站上)却出现了同样的错误!我尝试过几台计算机,所有这些都有效。我对此非常困惑。

如果有人有任何建议会很棒,谢谢。

1 个答案:

答案 0 :(得分:2)

使用相对或根相对URL(仅限路径,不带主机名):

$(function() {
    $.get("/menu/popoutmenu1.php", {}, function(response) {
        $("body").append(response);
    })
})

自我强制执行SOP,如果您不能这样做,就会出现SOP问题。

看起来可能是主机名转发的问题。但无论哪种方式,这都将解决它。