ホームページ  >  記事  >  ウェブフロントエンド  >  Ajax 投稿フォーム送信 setRequestHeader エラーの解決策

Ajax 投稿フォーム送信 setRequestHeader エラーの解決策

亚连
亚连オリジナル
2018-05-25 15:30:512268ブラウズ

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の技術原則の3点まとめ_AJAX関連

AJAXカプセル化クラス利用ガイド

以上がAjax 投稿フォーム送信 setRequestHeader エラーの解決策の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。