我无法获取以下数据的Feed。我知道我为ajax指定数据的方式有问题。以下是我的尝试:
<script type="text/javascript">
$(function() {
$.ajax({
type:'GET',
dataType:'jsonp',
url:'http://api.stackoverflow.com/1.0/tags/?callback=?',
success:function(data) {
alert(data.tags[0].name.length)
},
error:function() {
alert("Sorry, I can't get the feed");
}
})
});
</script>
我收到以下错误:
SyntaxError:无效标签[在此错误时出现错误]
“total”:31987,
根据TJ,我只是获取原始JSON文件。现在,当我的服务器发送JSON请求时,我需要做什么。
答案 0 :(得分:4)
如果查看对http://api.stackoverflow.com/1.0/tags/?callback=foo
的回复,您会看到它是JSON,而不是JSONP。根据{{3}}上的文档,您需要添加jsonp
查询参数以获取JSONP:http://api.stackoverflow.com/1.0/tags/?jsonp=foo
对于想要控制回调名称以获得最大可靠性的jQuery,您可以使用jsonp
选项告诉它该参数的名称应该是什么(并且不要将其放入URL,jQuery会这样做):
$.ajax({
type:'GET',
dataType:'jsonp',
jsonp: "jsonp",
url:'http://api.stackoverflow.com/1.0/tags/',
success:function(data) {
alert(data.tags[0].name.length)
},
error:function() {
alert("Sorry, I can't get the feed");
}
});