0

私はRESTAPIを書いています。エラー時にヘッダーステータス400を返します。

ただし、AJAX側では、jqxhrオブジェクトを返すことができませんでした。

$.get('site.php', function(data, status, jqxhr) function(data) {
    //...
}).error(console.log(jqxhr));

を返しますUncaught ReferenceError: jqxhr is not defined
インスペクターコンソールで、getリクエストに対して400(Bad Request)が表示されます。

Bad Requestというテキストを取得するにはどうすればよいですか?

ヘッダーステータス200で渡すことにより、データ内のテキストエラーを返すことができますが、それは正しいアプローチではありませんか?

4

1 に答える 1

2

関数はerrorコールバック関数を必要としていますが、実行console.log(jqxhr)していて、その戻り値をerrorコールバックとして渡そうとしています。ここで、「jqxhrが定義されていません」というエラーが発生します。

あなたはこのようなものが欲しいです:

$.get('site.php', function(data, status, jqxhr) function(data) {
    //...
}).error(function(jqXHR, textStatus, errorThrown) {
    // Do something interesting.
});

また、そのままではfailなく、使用する必要があります:errorerror

非推奨の通知:、、、jqXHR.success()およびjqXHR.error()コールjqXHR.complete()バックはjQuery1.8で非推奨になります。最終的な削除に備えてコードを準備するには、代わりjqXHR.done()に、、を使用します。jqXHR.fail()jqXHR.always()

于 2011-11-18T06:08:09.107 に答える