0
$.ajax({
                    type: "POST",
                    url: "/find",
                    data: {coupon_name:value},
                    success: function(response) {
                        alert("success")
                    },
                    error: function(xhr, ajaxOptions, thrownError) {
                        alert(thrownError);

                    }
                });

エラーをスローするには、PHP ページ内で何を「エコー」すればよいですか? 基本的に、返された数をカウントするために ajax 関数を使用しています。1 未満の場合は、JS にエラーをスローする必要があります。

4

2 に答える 2

0

実際の HTTP 関連の緊急事態のためにエラーを残し、応答でコード ロジックを処理することをお勧めします。最も簡単な方法は、応答を JSON にerror変換し、エラーが発生した場合は JSON でコンポーネントを返し、その存在を手動で確認することです。

つまり、$this->controller->response->statusCode(400)(CakePHP で) などを使用して、エラー句をトリガーするステータス コードを送信できます。しかし、私はそれに対してお勧めします。

于 2013-09-10T23:06:44.033 に答える
0

jQuery 仕様では、次のように定義.error()されています。

リクエストが失敗した場合に呼び出される関数。

失敗した HTTP コードは 400 番台または 500 番台にあるため、CakePHP は次のようになります。

<?php
    http_response_code(500);
?>

トリガーする必要があります。

とはいえ、あなたの状況でエラーをスローすることが必ずしも正しいかどうかはわかりません.クエリは実際にはエラーになっておらず、ゼロの結果が返されただけです. .success()とにかく、関数内でこれを処理するのが最善かもしれません。

于 2013-09-10T23:06:18.453 に答える