jquery 无法使用 twitter api 处理 404 错误

标签 jquery twitter

下面是我的代码

var tweetid = '133450847156838400';
        $.ajax({
                dataType: "jsonp",
                url: "http://api.twitter.com/1/statuses/show/"+tweetid+".json?include_entities=1&callback=?",
                error:function(xhr, testStatus, error) {
                    alert("error");
                },
                success: function(html){
                    alert("success");
                }
            });

Chrome 控制台显示 404 错误响应,但 jQuery 无法触发警报。

我添加

        $(document).ajaxError(function(event, request, settings){
            alert('error');
        });

什么也没发生。有人可以帮我处理这个错误,因为我必须检测这条推文是否被删除。

最佳答案

我非常确定(不完全),dataType jsonp 无法正确处理非 200 http 状态代码。原因是 jsonp 确实有效。维基百科页面对此有更好的解释:http://en.wikipedia.org/wiki/JSONP ,但基本上,jsonp 相当于使用您给出的 url 将脚本元素附加到页面上。脚本元素的主体是函数调用。如果你得到任何状态码 != 到 200,那么该主体将不存在,并且不会调用任何函数(最终调用回调函数)。

因此,如果您继续使用 jsonp,那么您将需要某种超时来等待响应并期望请求失败或其他某种方法。

关于jquery 无法使用 twitter api 处理 404 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8081565/

相关文章:

javascript - BOOTSTRAP 工具提示多实例不起作用

Python, MySQL _mysql_exceptions.ProgrammingError : (1064, '你的 SQL 语法有错误

python - 如何网络抓取嵌套的 div 和 ol 类

getElementsByClassName 的 JavaScript 'undefined' 错误

javascript - 无法在使用 .append() 添加的图像上调用 jQuery .error()

javascript - 在 jquery 中的唯一 tabindex 上添加类

javascript - 获取本地存储中对象的特定元素

javascript - Twitter Widget 在 iF​​rame 内时无法在 IE8 中工作

java - 使用 twitter4j 从 twitter 获取视频 url

python - 连接拒绝 PythonAnywhere 上的 Twitter API