Ajax を使用した JSON データの PHP への送信
JSON 形式のデータを PHP に転送して処理しようとすると、開発者は障害に遭遇する可能性があります。このような課題の 1 つは、Ajax 経由で JSON データを PHP スクリプトに送信することです。
失敗した Ajax JSON 送信のトラブルシューティング
この問題を解決するには、次のコード スニペットを確認してください:
<code class="javascript">$.ajax({ type: "POST", dataType: "json", url: "add_cart.php", data: {myData: dataString}, // Remove this line: contentType: "application/json; charset=utf-8", success: function(data) { alert('Items added'); }, error: function(e) { console.log(e.message); } });</code>
行 contentType: "application/json; charset=utf-8" の削除は重要です。 Ajax を使用して JSON データを PHP に送信する場合、コンテンツ タイプを JSON として指定する必要はありません。代わりに、PHP は送信されたデータを JSON 文字列として自動的に解析します。
簡素化されたアプローチ
プロセスをさらに簡略化するには、JSON.stringify と json_decode の使用を排除します。データ オブジェクトを Ajax リクエストに直接渡すだけです:
<code class="javascript">data: {myData: postData},</code>
PHP では、$obj = $_POST['myData']; を介して JSON データにアクセスします。
以上がAjax を使用して JSON データを PHP に送信するときに「contentType: \"application/json; charset=utf-8\"」を指定する必要がないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。