Ajax を使用して JSON データを PHP に送信するときに「contentType: \'application/json; charset=utf-8\'」を指定する必要がないのはなぜですか?

DDD
リリース: 2024-11-02 02:40:30
オリジナル
369 人が閲覧しました

Why is specifying `contentType:

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 サイトの他の関連記事を参照してください。

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