1

ここで、時々実行する.phpファイルを呼び出すjQuery ajaxがあります。次のようにしましょう

echo "hello"

ここにあります:

    $.ajax({
        type: "POST",
        url: myurl.php
        data: data_string,
        timeout: 6000,
        success: function () {

        }
    });

私が知りたいのは、PHPファイルで前のエコーのようなものが実行されたときに、成功ではなくエラーを返すようにすることは可能ですか? つまり、この $.ajax 内で、php ファイルが実行されるかどうかを確認します。

より良い説明: リクエストを完了できなかった場合はエラーが発生し、完了した場合は成功します。しかし、このPHPファイルからの戻り値のようなものを取得したいと思います. 1 が返ってきたら、何かしたいです。2 が返された場合は、別のことをしたいです。私はそれをよりよく説明したいと思います..

前もって感謝します。

4

4 に答える 4

4

json_encode()PHPファイル内で使用することをお勧めします。例えば:

echo json_encode(array('success' => 'do_foo'));
exit();

次に、成功のコールバック内に条件を追加できます。

$.ajax({
  type: "POST",
  url: myurl.php
  data: data_string,
  dataType: "JSON", //tell jQuery to expect JSON encoded response
  timeout: 6000,
  success: function (response) {
    if (response.success === 'hello'){
      console.log(response);
    } else {
      console.log('else');
    }
  }
});
于 2013-01-02T23:52:35.733 に答える
1

あなたの質問に基づいて、php return 1またはreturn 2を作成します。失敗すると1を返し、成功すると0(null)を返すようにすることができます。次に、ajax リターンに対してこれを行うことができます。

$.ajax({
                type: "POST",
                url: "YOUR URL",
                data: dataString,
                success: function(server_response)
                    {
                        if(server_response == 1)
                        {
                            alert("You have made a mistake");
                            return true;
                        }

                        HERE YOU WILL PUT WHAT HAPPENS ON SUCCESS

                        }
                    });
于 2013-01-03T00:06:45.307 に答える
0
$.ajax({
    type: "POST",
    url: myurl.php
    data: data_string,
    timeout: 6000,
    success: function (msg) {
       if (msg != "Hi")
       {
          //TODO
       } else
       {
          //TODO
       }
    }
});
于 2013-01-02T23:43:46.830 に答える
0

これにはエラー コールバックを使用できます。

$.ajax({
    type: "POST",
    url: myurl.php
    data: data_string,
    timeout: 6000,
    success: function () {

    },
    error: function() {
        /* Code reacting to error here */
    }
});

また、 $.ajax ドキュメント ページで確認できる他のコールバックの機会もあります。

エラーがあることを PHP に「伝える」場合は、次の 2 つの方法で行うことができます。

PHP でエラーを意味するキーワードを出力し、それを成功関数でチェックできます。

success: function (data) {
    if (data == 'error') {
    } else {
    }
}

または、逆に、PHP の正しいヘッダーを指定して「エラー」を発生させることもできます。その後、通常どおりエラー コールバックを使用できます。私ならこの方法を選びます。

于 2013-01-02T23:44:49.690 に答える