我正在将一个变量传递给一个URL,该URL随后会调用通过所传递变量过滤的API。但是,我似乎无法加载JSON,并在JS中的Firebug控制台中返回无效错误。思考?使用jQuery检索JSON API时出现无效错误
$("a").click(function() {
var apiurl = "http://api.example.com" + $(this).text() + "&limit=500" + "?callback=?";
$.ajax({
url: apiurl,
success: function(json) {alert(json.data.results);},
error: function() { alert("error"); },
dataType: "json",
contentType: "application/json;charset=utf-8",
});
});
这是错误: 无效标签 误差源极线: [打破此错误]
{ “代码”:200, “状态”: “OK”, “数据”:{”偏移量“:0,”limit“:500,”total“:17,”target“:”ch ...
我明白了,谢谢你的见解。在这种情况下,如果我删除回调=?字符串中的URL,警报不会触发(没有任何反应)。我在本地工作并从另一台服务器请求API。我认为JSONP是解决这个问题的方法,但是我可能会错过一些东西,因为我对JSON – Yasir 2012-07-18 17:05:15
的问题还很陌生,如何检查JSONP支持? – Yasir 2012-07-18 17:06:39
是的,如果您尝试执行跨域AJAX调用,则可以使用JSONP(如果远程服务支持它)。如果没有,则不能从脚本中调用它。为了检查远程服务是否支持JSONP,有两种方法:1.阅读你尝试使用的API的文档。 2.您试图在浏览器中输入一个示例请求:'http://api.example.com?limit = 500&callback = abc'并观察返回的JSON是否会被封装在'abc'函数中。如果不存在两种可能性:1.远程服务器不支持JSONP或... – 2012-07-18 17:07:19