Ajax を使用して JSON データを PHP に送信する
問題:
JSON データを PHP に送信しようとしたときAjax 経由の PHP ファイルでは、データが受信されず、配列 $_POST に空の値が含まれています。
解決策:
この問題を解決するには、 Ajax リクエストを削除する必要があります。 contentType オプションは、生データをサーバーに送信するときに使用されますが、この場合、データはすでに有効な JSON 形式になっています。これを削除すると、サーバーは JSON データを自動的に正しく処理します。
また、このコンテキストでは、JSON.stringify 関数と json_decode 関数は必要ありません。代わりに、postData オブジェクトをリクエスト ペイロードとして直接使用できます。
更新された Ajax コード:
$.ajax({ type: "POST", dataType: "json", url: "add_cart.php", data: {myData: postData}, success: function(data){ alert('Items added'); }, error: function(e){ console.log(e.message); } });
更新された PHP コード:
if(isset($_POST['myData'])){ $obj = $_POST['myData']; // Some PHP operation }
以上がJSON データが Ajax 経由で PHP で受信されないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。