我正在尝试使用以下命令对我的服务器进行 Ajax 调用jQuery call:
$.ajax({
type: "GET",
dataType: "jsonp",
url: "http://iceworld.sls-atl.com/api/&cmd=time",
success: function (data) {
console.log("success");
console.log(data);
},
error: function (error) {
console.log("error");
console.log(error);
},
});
我从浏览器得到了我期望的数据,但 Firebug 一直说“SyntaxError:无效标签”,如下所示:
所以,让我困惑的是为什么调用错误回调而不是成功回调。我想知道我在这里做错了什么。
JSONP 数据必须以以下格式返回:callback( jsonObject )
。这就是为什么你会得到一个invalid label
错误。它需要一个函数,而不是一个 JSON 对象。您需要修改服务器代码以使用回调函数的名称包装返回值。当您请求 JSONP 时,该名称会由 jQuery 自动添加到请求中。如果您查看该请求,您应该会看到如下内容:
http://iceworld.sls-atl.com/api/&cmd=time?callback=jQuery191035087670385837555_1365126604422&_=1365126604423
你的脚本需要采取callback
参数并使用它来包装数据,因此对于本例来说,它看起来像这样:
jQuery191035087670385837555_1365126604422({"status":1,"data":"1365126534"})
如果您从同源访问服务器,则可以简单地使用 JSON。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)