ホームページ > ウェブフロントエンド > jsチュートリアル > JSONを使用してAJAXを介してPHPにJQuery

JSONを使用してAJAXを介してPHPにJQuery

Joseph Gordon-Levitt
リリース: 2025-03-01 01:36:17
オリジナル
541 人が閲覧しました

jQuery to PHP via AJAX using JSON

このチュートリアルでは、jQueryからjqueryからPHPスクリプトにajax(postメソッド)を介してJSONデータを送信する方法を示し、そのデータを使用可能なPHP変数にデコードします。 この例ではフォーム入力を使用していますが、JSONデータの原点は柔軟です。

jQuery ajax実装

このajax関数は、jsonデータをサーバー側のphpスクリプトに送信します:

$.ajax({
    type: "POST",
    url: targetURL,
    async: false,
    data: JSON.stringify($('#form').serializeArray()),
    success: function(data){
        console.log(data);
        return true;
    },
    complete: function() {},
    error: function(xhr, textStatus, errorThrown) {
        console.log('AJAX loading error: ' + textStatus + ' - ' + errorThrown);
        return false;
    }
});
ログイン後にコピー
生成されたJSONはこれに似ています(name-valueペア):

data=[{"name":"product","value":"riserva shiraz wine glass"},{"name":"supid","value":"81"},{"name":"brandid","value":"60"},{"name":"blid","value":"7"},{"name":"cid","value":"381"}];
ログイン後にコピー
PHPデータ処理

PHPコードはJSONをデコードし、データを処理します:

// Decode JSON string into a PHP associative array
$decoded = json_decode($_POST['data'], true); // Note: Changed to $_POST

// Output values:
echo "Outputting values:\n";
foreach ($decoded as $value) {
    echo $value["name"] . "=" . $value["value"] . "\n";
}

// Set values as PHP variables:
echo "\nSetting variables:\n";
foreach ($decoded as $value) {
    $$value["name"] = $value["value"];
    echo $value["name"] . "=" . $$value["name"] . "\n";
}
ログイン後にコピー
(注:使用された元のコード

;これは、投稿リクエストのために$_GETに修正されました。)$_POST

よくある質問(FAQ) このセクションでは、jQuery、PHP、Ajax、およびJSON相互作用に関する一般的な質問について説明します。

    jquery ajaxでのエラー処理:
  • jquery ajaxコール内の

    メソッドを使用して、エラーを優雅にキャッチして処理します。 コールバック関数は、エラー情報(例:.fail().fail())を受信し、特定のエラー処理を可能にします。 xhr textStatus errorThrown

    jquery ajax:
  • オプションでリテラルを使用して複数のデータを送信します。 オブジェクト内のキー価値のペアは、送信するデータを表します。 PHPは、

    または data $.ajax()$_POSTjQueryのPHPから返されたJSONデータの使用:$_GET

    を使用して、受信したJSON文字列をJavaScriptオブジェクトに変換して、簡単にアクセスできるようにします。
  • 同期対非同期ajax: jQuery ajaxはデフォルトでは非同期です($.parseJSON())。設定

    は同期しますが、これは一般的にブラウザをブロックできるため落胆します。
  • jQueryからJSONオブジェクトをPHPに送信します: jqueryでasync: trueを使用して、JavaScriptオブジェクトをJSON文字列に変換してから送信します。 phpはasync: falseを使用して解析します。

  • jquery ajaxで投稿してメソッドを取得します:POSTリクエストにはJSON.stringify()を使用し、リクエストを取得するにはjson_decode()を使用します。 これらは、

  • の単純化されたバージョンです
  • コンテンツの設定jquery ajax:$.post()$.get()オプションを$.ajax()に使用します。 JSONの場合は、

  • に設定します
  • 成功したajaxリクエストの処理:contentTypejqueryの$.ajax()メソッドを使用して、成功した応答を処理します。

  • ajaxリクエストのキャンセル:メソッドを使用して、保留中のajaxリクエストをキャンセルします。 ブラウザとリクエストタイプに応じて成功は保証されません。 .abort()

をPHPスクリプトの実際のURLに置き換えることを忘れないでください。 作業例には、サーバー上の機能的なPHPスクリプトが必要です。

以上がJSONを使用してAJAXを介してPHPにJQueryの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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