1

403 禁止エラーのステータスを取得しようとしています。php curl で実行できますが、jquery を使用して実行する必要があります。

これが私のコードです。

   $.ajax({

    url: 'https://s3.amazonaws.com/isdukg/01-jaimeson-complete_2_step_mix-pulse.mp3',
    type: 'GET',
    crossDomain: true,
    dataType: 'jsonp',
    statusCode: {
      403: function() {
      alert("Forbidden");
      // or do something useful
      }
    }
});

$.ajax({

    url: 'https://s3-eu-west-1.amazonaws.com/fkcreate/Angles%2C%20Circles%20and%20Triangles..%20Instrumental.mp3',
    type: 'GET',
    crossDomain: true,
    dataType: 'jsonp',
    statusCode: {
      403: function() {
      alert("Forbidden");
      // or do something useful
      }
    }
});

URL の 1 つで 403 禁止エラーが発生します。コンソール ウィンドウを開いてページを読み込むと、ここで確認できます - http://scaredem.users36.interdns.co.uk/

そのエラーをつかんで何か役に立つことをすることはできないようです。

4

2 に答える 2

4

jQuery ajax を使用すると、statusCode プロパティを使用して関数を HTTP 応答ステータス コードにマップできます。

$.ajax({
statusCode: {
  403: function() {
  alert("Forbidden");
  // or do something useful
  }
}
});
于 2012-04-20T10:52:35.440 に答える
1

timeoutこの状況であなたを助けるかもしれません。リクエストが 500 ミリ秒でタイムアウトした場合、応答はありません (応答ステータスも取得しようとしましたが、うまくいきませんでした)。

jsfiddle

            $.ajax({
                url: "https://s3-eu-west-1.amazonaws.com/fkcreate/Angles%2C%20Circles%20and%20Triangles..%20Instrumental.mp3",
                type: "get",
                dataType: 'jsonp',
                crossDomain : true,
                timeout : 500, // it is milliseconds
                complete : function(xhr, responseText, thrownError) {
                    if(xhr.status == "200") {
                       alert(responseText); // yes response came
                    }
                    else{
                       alert("No response"); // no response came
                    }
                }
           });​
于 2012-04-20T11:03:44.727 に答える