1

ajaxを使用してサーバーにテキストを送信します。下の線を削除すると壊れます。

xhr = new window.XMLHttpRequest();
xhr.open("POST", config.url, true);
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");  // removal causes error

getリクエストにリクエストヘッダーが必要ないことに気づきました。実際、これは私が今まで使用した唯一のrequestHeaderです。

x-www-form-urlencodedとは正確には何であり、なぜそれが必要なのですか?

サーバーに送信されたテキストでも実行する必要があることがわかったencodeURIComponentとどのように関連していますか?

4

2 に答える 2

2

encodeURIComponent(str)これは、encodeURIComponent がパーセンテージ エンコーディングに従ってフォーム コンポーネントをエンコードするという点で、 に関連しています: http://en.wikipedia.org/wiki/Percent-encoding

WWW 形式のURL エンコーディングNAME=CONTENTでは、名前とコンテンツがパーセンテージでエンコードされた として送信されるフィールドと、さまざまなフィールドがアンパサンド (&) で区切られていることがさらに指定されます。

于 2013-03-06T21:46:11.967 に答える
1

このヘッダーは、POST 変数の正しいエンコーディングを定義します。

参照: http://en.wikipedia.org/wiki/POST_(HTTP)#Use_for_submitting_web_forms

于 2013-03-06T21:52:15.820 に答える