我正在弄清楚如何使用tumblr api,但我想我可能做错了
我试过
$.get("http://jiewmeng.tumblr.com/api/read/json?callback=tumblr", function(data) {
$("body").prepend(data);
});
甚至$ .ajax()
$.ajax({
type: 'get',
contentType: 'json',
url: 'http://jiewmeng.tumblr.com/api/read/json',
success: function(data) {
alert(data);
}
});
我一无所获。但是当我在浏览器中转到url时,我得到了一些东西,错了什么?
答案 0 :(得分:1)
如果使用匿名回调,则不应为回调函数指定名称。使用callback=?
将命名保留给jQuery:
$.getJSON('http://jiewmeng.tumblr.com/api/read/json?callback=?', function(data) {
alert(data);
});
这样实际的请求看起来像这样:
http://jiewmeng.tumblr.com/api/read/json?callback=jsonp1284885664340
答案 1 :(得分:0)
你的get()调用缺少第二个参数(你的调用参数)。所以,你的电话应该是这样的:
$.get("http://jiewmeng.tumblr.com/api/read/json", {callback:'tumblr'}, function(data) {
$("body").prepend(data);
});
我测试了它,但它在这里不起作用。我的猜测是调用http://jiewmeng.tumblr.com/api/read/json检查调用是否是一个AJAX请求,如果是这种情况则不返回任何内容。
答案 2 :(得分:0)
Ajax只能在与页面相同的主机上工作,如果你想在不同主机上调用页面(通过ajax)你必须编写php代理,请阅读this article。
你也可以将dataType设置为“jsonp”,这将不是通过XHR获取json请求,而是使用脚本标记。