このチュートリアルでは、jQueryからjqueryからPHPスクリプトにajax(postメソッド)を介してJSONデータを送信する方法を示し、そのデータを使用可能なPHP変数にデコードします。 この例ではフォーム入力を使用していますが、JSONデータの原点は柔軟です。
jQuery ajax実装
$.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; } });
data=[{"name":"product","value":"riserva shiraz wine glass"},{"name":"supid","value":"81"},{"name":"brandid","value":"60"},{"name":"blid","value":"7"},{"name":"cid","value":"381"}];
// 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相互作用に関する一般的な質問について説明します。
メソッドを使用して、エラーを優雅にキャッチして処理します。 コールバック関数は、エラー情報(例:、.fail()
、.fail()
)を受信し、特定のエラー処理を可能にします。
xhr
textStatus
errorThrown
または
data
$.ajax()
$_POST
jQueryのPHPから返されたJSONデータの使用:$_GET
同期対非同期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リクエストの処理:contentType
jqueryの$.ajax()
メソッドを使用して、成功した応答を処理します。
ajaxリクエストのキャンセル:メソッドを使用して、保留中のajaxリクエストをキャンセルします。 ブラウザとリクエストタイプに応じて成功は保証されません。
.abort()
以上がJSONを使用してAJAXを介してPHPにJQueryの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。