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