39

サーバーデータまたはエラーの受信方法を知っています。多くの方法があります。例えば:

$.ajax({
    type: "get",
    url: "/widgets/",
    success: function (data, text) {
        console.log('this is a data');
    },
    error: function (request, status, error) {
        console.log('this is an error');
    }
});

この画像を見てください:

chrome 開発者コンソールが表示されます

エラー機能があり、そこで必要なことを行います。最初の行でエラーを防ぐにはどうすればよいですか。4xx および 5xx エラーをテストしましたが、違いはありません。開発者コンソールが非表示の場合、エンド ユーザーにはこのエラーが表示されないことはわかっています。

API を設計するにはこれが必要です。これがエラーまたは成功の結果であることを示す追加の引数を使用して、サーバーから 200 の応答を送信できることを知っています。

しかし、4xx または 5xx 応答を送信できる場合は、追加の引数は必要ありません。この方法には、私にとっていくつかの追加の利点があります。たとえば、追加の引数を気にせずに、クライアント側のモデルに成功の結果を適用できます。

ありがとうございました

4

1 に答える 1

17

私の知る限り、エラーステータスコード(4xx、5xx)を返すときに、赤いものを消すことはできません。これらは、何かが予期したとおりに進まなかった可能性があることを示すために、ブラウザーによって使用されます。4xx と 5xx のステータス コードは完全に有効であるため、これらは装飾にすぎません。したがって、それらを削除したい理由はわかりません。

あなた自身が言ったように、あなたの他の選択肢は、「これがエラーまたは成功の結果であることを示す追加の引数とともにサーバーから200の応答を送信することです」.

ただし、4xx と 5xx のコードを使用することをお勧めします (それが目的です)。開発者コンソールでのブラウザーのヘッドアップ警告 (別名、赤いもの) について心配する必要はありません。

他の種類のリソース (画像、ファイルなど) を取得する際の同様のエラーに関するthisおよびthis questionも参照してください。表示されるエラーは、実際には同じ性質のものです。

于 2013-05-10T13:54:50.387 に答える