我遇到了jquery getjson的问题。
此代码有效
$.getJSON('http://twitter.com/status/user_timeline/USERNAME.json?count=10&callback=?', function(twitter_data)
{
alert('works');
});
而且此代码没有?
$.getJSON('https://api.twitter.com/1/account/verify_credentials.json?callback=?', function(twitter_data)
{
alert('no alert ?');
});
但为什么呢?有什么想法吗?
示例 - > http://jsfiddle.net/4wWJW/2/
事先谢谢! 彼得
答案 0 :(得分:8)
我在这里更新了您的代码版本:http://jsfiddle.net/4wWJW/9/
不幸的是,您提供的示例包含oauth_nonce
我认为是一次性身份验证令牌。所以不幸的是,这不会奏效。您需要通过帐户进行身份验证才能进行调试。
我没有使用jQuery.getJSON
,而是使用jQuery.ajax
的长途电话。这允许使用错误处理程序。当ajax调用成功时,调用success
函数,否则调用error
函数。
在这种情况下,我可以看到呼叫不成功,例如不返回状态代码200,因此调用error
函数。
你可以询问jqXHR对象和错误函数的其他参数,看看发生了什么。
答案 1 :(得分:2)
https://api.twitter.com/1/account/verify_credentials.json
返回401状态代码。您在请求中没有send any credentials。
答案 2 :(得分:0)
来自jQuery
重要提示:从jQuery 1.4开始,如果JSON文件包含语法错误,则请求通常会以静默方式失败。出于这个原因,避免频繁手动编辑JSON数据。 JSON是一种数据交换格式,其语法规则比JavaScript的对象文字符号更严格。例如,JSON中表示的所有字符串,无论它们是属性还是值,都必须用双引号括起来。
我猜想,就jQuery而言,返回错误相当于返回无效的JSON?