以下のコードを参照してください。私はtwitter API呼び出しによって返されるエラーを処理しようとしています。 Jqueryがjsonpのデータ型を処理しないため、タイムアウトが発生することを覚えておいてください。以下のコードは、明らかに存在しないtwitter IDに対してエラーを投げます。私はreq.errorメソッドでそのエラーを捕捉し、それをユーザに表示したいと思う。しかし、明らかに、エラーは隠され、console.log( 'Oh noes!' + msg.error)に来る。これはjsonery型のデータを処理するjqueryとは関係があります。誰かが同じことに遭遇しましたか?どんな解決策ですか?jqueryがtwitter API呼び出しからjsonpデータを正しく処理していない
function findUserInfo(){
var req = $.ajax({
url: "https://twitter.com/users/show.json?id=neverexistID",
dataType : "jsonp",
timeout : 10000
});
req.success(function(msg) {
console.log('Yes! Success!'+msg);
});
req.error(function(msg) {
console.log('Oh noes!'+msg.error);
});
}
回答: JSONPコールは特別で、私は、エラー状況を処理できなかった理由は通常隠されてスローされたエラー、およびthatsのは、以下のプラグインがうまく状況を処理し、私の問題を解決しました。
jsonp plugin code.google.com/p/jquery-jsonp
JQueryがこれを処理していないようで、jsonpプラグインを使用して私の "エラー隠し"問題を解決しました。プラグインリンクはhttp://code.google.com/p/jquery-jsonpです。 – cherit