ホームページ > 記事 > ウェブフロントエンド > Ajax 投稿フォーム送信 setRequestHeader エラーの解決策
ajax post メソッドのフォーム送信により、非同期オブジェクトの xhr.setRequestHeader が設定されます。
非同期オブジェクト XMLHttpRequest を作成し、同時にデータを送信すると、リクエスト ペイロードに渡される値が間違っていることが示されます。 postメソッドの背景。
非同期オブジェクトの xhr.setRequestHeader メンバーの値を
XMLHttpRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded") に設定する必要があります。そうしないと、バックグラウンドで受信できません。渡されたメッセージにはそれだけの価値があります。 Google Chrome のコンパイラでは値がリクエスト ペイロードで渡されると表示されるため、(図に示すように) これは間違っています。属性
に注意してください。正しい方法はフォーム データです。 (図に示すように)
フォーム form に設定されたこの enctype 属性 (サーバーに送信する前にフォーム データをエンコードする方法を指定します。フォームは合計 3 つあります。w3c ドキュメントを参照してください)。も反映されています、
例: < ;form enctype="application/x-www-form-urlencoded">
jqueryにはserialize()メソッドがあります。 。パラメータはグループ化できます。 id="value"&name="value" に変更する方法
以上、皆さんの参考になれば幸いです。
関連記事:
ajaxとhistory.pushStateを使って更新せずにページURLを変更する例_AJAX関連
以上がAjax 投稿フォーム送信 setRequestHeader エラーの解決策の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。