我正在尝试学习如何通过JQuery发出JSON请求。根据我对StackExchange Docs的理解,这是可能的。但是,我不明白我的一些参数值应该是什么。例如,假设我正在尝试获取“JSON”和“JQuery”的标记信息。目前,我有以下内容:
var url = "/2.1/tags/JQuery,JSON/info?callback=?";
$.getJSON(url, function (tags) {
alert(tags.length);
});
目前,我有以下问题:
url
?{Tags}
替换格式是否正确?我正在尝试成功查询标记端点,以便我可以学习这种类型的请求。
谢谢!
答案 0 :(得分:1)
尝试以下代码,
var URL = "http://api.stackoverflow.com/1.1/tags/";
$.ajax({
dataType: 'jsonp',
jsonp: 'jsonp',
url: URL,
success: function(val) {
alert(val.total);
},
error: function(val) {
console.log('error');
console.log(arguments);
}
});
阅读API documentation以获取有关可用API的更多详细信息
的更新强> 的
根据您的评论查看更新的示例 http://jsfiddle.net/J6u5C/1/
var URL ="http://api.stackexchange.com/2.1/tags/jquery;json/info?site=stackoverflow";
$.ajax({
dataType: 'jsonp',
jsonp: 'jsonp',
url: URL,
success: function(val) {
alert(val.items.length);
},
error: function(val) {
console.log('error');
console.log(arguments);
}
});
并回答你的问题,
没有
格式由
;
(半冒号)而不是,
(逗号)分隔
答案 1 :(得分:0)
谢谢Chamika!
我已经拿走了你的小提琴并稍微扩展了一下,所以它不仅仅是弹出警报。它现在迭代返回的信息并创建一些显示返回值的标记。
var URL ="http://api.stackexchange.com/2.1/tags/jquery%3Bjson/info?site=stackoverflow";
$.ajax({
dataType: 'json',
jsonp: 'json',
url: URL,
success: function(val) {
$.each(val, function(item, vals) {
var my_div = $('body').append('<div>' + item + '</div>');
if (item === 'items') {
$.each(vals, function(idx, tag) {
my_div
.append('<div class="tag">' + tag.count + ' : ' + tag.name + '</div>')
});
}
else if (item === 'quota_remaining' || item === 'quota_max') {
my_div
.append('<div class="quota">' + vals + '</div>')
}
else if (item === 'has_more') {
my_div
.append('<div class="hasmore">' + vals + '</div>')
}
});
},
error: function(val) {
console.log('error');
console.log(arguments);
}
});