3

jqueryでphpページにajaxリクエストを送りたいです。しかし、成功関数とエラー関数を定義したいと思います。私はこれを行うことができますが、リクエストphpページで、成功またはエラーになるようにするにはどうすればよいですか?たとえば、呼び出す必要がある特別な関数があるか、定義された成功またはエラー関数が実行されますか?

編集:

これを試してみましたが、http_response_code コードを 403 に切り替えても成功します。

    $.ajax({
      url: "sqlhandler.php?memberID=<?php $memberID ?>",
      success: function(){
        alert("success");
      },
      error: function() {
        alert("error");
      }
    });

sqlhandler.php

<?php
    http_response_code(200);
?>
4

4 に答える 4

5

レスポンスが良い場合は 200、レスポンスが悪い場合は 4xx をスローします: http://php.net/manual/en/function.http-response-code.php

ユーザーが見てはいけないものを見ようとする場合は、http_response_code(403);(禁止) を使用します。

存在しないものを見ようとする場合は、404 を使用します。

それらが気に入らない場合は、キャッチオールとして 403 を使用してください。

jQuery でこれらのエラー コードをキャッチする方法の詳細については、http: //www.unseenrevolution.com/jquery-ajax-error-handling-functionを参照してください。そのページからコピーした例を次に示します。

$(function() {
    $.ajaxSetup({
        error: function(jqXHR, exception) {
            if (jqXHR.status === 0) {
                alert('Not connect.\n Verify Network.');
            } else if (jqXHR.status == 404) {
                alert('Requested page not found. [404]');
            } else if (jqXHR.status == 500) {
                alert('Internal Server Error [500].');
            } else if (exception === 'parsererror') {
                alert('Requested JSON parse failed.');
            } else if (exception === 'timeout') {
                alert('Time out error.');
            } else if (exception === 'abort') {
                alert('Ajax request aborted.');
            } else {
                alert('Uncaught Error.\n' + jqXHR.responseText);
            }
        }
    });
});
于 2013-06-14T00:50:31.920 に答える
1

私は通常、次のコードを使用します。

.done(function(msg){
if(msg==1)
   alert("Success");
else
   alert("Failure");
})

PHP スクリプトから渡す内容に応じて、コードを変更できます。

于 2013-06-14T01:51:43.507 に答える
1

HTTP ステータス コードは、リクエストが成功したか失敗したかを示す方法です。

PHPhttp_response_codeはステータス コードを設定します。

に渡すオブジェクトでは、すべての、、またはステータス コードのキャッチオールとしてメンバーを$.ajax定義するか、異なる関数で各ステータス コードを処理するようにオブジェクトを定義できます。error3xx4xx5xxstatusCode

于 2013-06-14T00:50:29.287 に答える
1

HTTP (AJAX など) 呼び出しを行うと、応答コードがあります。たとえば、エラー コード 200 は OK を意味し、4xx 呼び出しはエラーを意味します (たとえば、404 は「ページが見つかりません」エラーを意味します)。

それらについていくつかの調査を行う必要があります。

于 2013-06-14T00:51:36.867 に答える