jQuery ajax十字架

我试图从我的本地环境使用jQuery发出ajax请求。

$.ajax({
        url: requestURL,
        dataType: "json",
        timeout: 120000,
        success: function(data){
            // do something

        },
        error: function(XMLHttpRequest, textStatus, errorThrown){
            console.log("Instants.loadGame: error loading games: error text: " + textStatus + "; error thrown: " + errorThrown);
        }
    });

我曾尝试使用dataType json和jsonp(因为这是其他人似乎认为解决问题的方法),但是我会遇到任何错误。 对于dataType json,错误响应具有textStatus =“error”,errorThrown为空。 对于dataType jsonp,错误响应具有textStatus =“parsererror”,而errorThrown =“jQuery19002007321439859855_1361446807440未被调用”。

我知道这个代码在与我的请求URL一样的域上运行时工作,所以我只能假设这是因为我在我的本地环境中执行它。 我已经设置了我的cross-domain.xml来允许一切。 我正在使用jQuery 1.9.0。

有没有人有任何想法? 我一直在网上查看这些内容,但没有任何帮助其他人看起来为我工作的解决方案......

谢谢,希瑟


当你收到像“jQuery19002007321439859855_1361446807440未被调用”的错误时,这是​​因为它不是一个正确的jsonp响应。 当使用jsonp时,服务器需要是JavaScript(一个实际的脚本),并且该脚本需要调用作为url一部分提供的函数(在这种情况下,函数名为jQuery19002007321439859855_1361446807440,jQuery映射到您提供的成功处理程序。

最有可能的原因是服务器返回普通的json数据,但这是行不通的。 该数据需要传递给脚本。 所以对服务器的请求应该返回类似的内容

var data = {"foo":1}; //your data here
jQuery19002007321439859855_1361446807440(data);
链接地址: http://www.djcxy.com/p/47547.html

上一篇: jQuery ajax cross

下一篇: Issues with jQuery, ajax, and jsonp