2

文字列を受け入れ、その文字列で Twitter アカウントが存在するかどうかを確認する簡単なチェックを構築しようとしています。

肯定的な結果を得ることができましたが、否定的な結果を得ることができないようです。$.ajax()エラー要素がありますが、起動していません。

実施例

コード:

var testTwit = function(username){
    $.ajax({
      url: 'http://twitter.com/statuses/user_timeline.json?screen_name='+username+'&count=1&callback=?',
      dataType: 'json',
      success: function(){
          alert("username is valid");
      }, 
     error: function(){
         alert("username is valid");
     }
   })
 }

</p>

4

4 に答える 4

3

JSONP トランスポートを使用しています。このトランスポートでは、要求された URL が<script>ドキュメントにタグとして追加されるだけです。URL が 200 以外のステータス コードを返す場合、ブラウザーはそれを実行しません。これが、否定的な応答が表示されない理由です。

1 つの解決策は、suppress_response_codesパラメーターを使用して、API が常に 200 ステータス コードを返すようにすることです。

すべての Twitter 開発者が知っておくべきことを参照してください。

  • suppress_response_codes: このパラメーターが存在する場合、すべての応答が 200 OK ステータス コード (エラーであっても) で返されます。このパラメーターは、200 以外のすべての応答をインターセプトするブラウザーで実行されている Flash および JavaScript アプリケーションに対応するために存在します。使用された場合、応答本文を解析してエラー状態を判断するのはクライアントの仕事です。これらのエラー メッセージは変更される可能性があるため、注意して使用してください。

ところで、Twitter は API への非認証アクセスを抑制しているため、JSONP アクセスも抑制される可能性があります。

于 2012-09-04T10:13:55.997 に答える
0

通常、API はリクエストを受信すると必ずレスポンスを返します。そのため、エラーは発生しません。API からの応答を解析して、ユーザーが存在するかどうかを確認する必要があります。

于 2012-09-04T10:13:29.897 に答える
0

JSONP リクエストを使用する場合、エラーは発生しません。詳細については、jQuery フォーラムを参照してください。

于 2012-09-04T10:14:35.913 に答える