JQUERY AJAX 呼び出しで PHP からの JSON 応答を適切に処理するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-11-03 01:23:30
オリジナル
773 人が閲覧しました

How to properly handle JSON responses from PHP in a JQUERY AJAX call?

PHP が JSON を JQUERY AJAX 呼び出しに返す

この質問は、フォーム処理と応答を返すための PHP、JQUERY、および AJAX の統合に取り組みます。 JSON 形式。

PHP 実装

提供される PHP コードには、フォームの処理と電子メール送信の処理に必要な関数が含まれています。 JSON を返すには、json_encode を使用して配列を JSON 文字列に変換します。配列には、成功/失敗を示すリターン キーとメッセージ表示用の msg1 キーが含まれています。

<code class="php"><?php

header('Content-Type: application/json');
touch('phpTouch.txt');
// process email
$email = 1;
if ($email) {
    $value = array('return' => 1, 'msg1' => 'Message sent OK, we will be in touch ASAP');
} else {
    $value = array('return' => 0, 'msg1' => 'Message Failed, please try later');
}
$output = json_encode($value);
echo $output;

?></code>
ログイン後にコピー

JQUERY および AJAX

JQUERY コードはフォーム検証とAJAX通信。成功コールバックとエラーコールバックを使用して、PHP スクリプトからの応答を処理します。ただし、このコードでは、特定の JSON 値を抽出して表示するのではなく、生のデータ オブジェクトが表示されます。

<code class="javascript">success: function (data) {
    alert("SUCCESS:");
    for (var key in data) {
        $('#msgid').append(key);
        $('#msgid').append('=' + data[key] + '<br />');
    }
},
error: function (data) {
    alert("ERROR: ");
    for (var key in data) {
        $('#msgid').append(key);
        $('#msgid').append('=' + data[key] + '<br />');
    }
}</code>
ログイン後にコピー

解決策

JSON 値を正しく表示するには、 JSON 応答から戻り値と msg1 の値を抽出するための成功コールバック:

<code class="javascript">success: function (data) {
    alert("SUCCESS:");
    $('#msgid').append('Return: ' + data.return + '<br />');
    $('#msgid').append('Message: ' + data.msg1 + '<br />');
}</code>
ログイン後にコピー

これらの調整により、コードはフォームを正しく処理し、PHP から JSON 応答を返し、戻り値と msg1 を抽出して表示する必要があります。値。

以上がJQUERY AJAX 呼び出しで PHP からの JSON 応答を適切に処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート