フォームの ID を使用して作成した FormData オブジェクトがあります。このフォームには複数の入力値があります。次に、XMLHttpRequest() を使用して FormData を送信します。
ただし、リクエスト (Google Chrome の開発者ツールを使用してデバッグしたもの) では、「解析された」バージョンを表示すると、最初の入力値のみが送信されていることがフォーム データでわかります。ただし、 FormData のソースを表示すると、すべての入力値が表示されます。
私の質問
の解析済みバージョンを表示するFormData
と、1 つの値しか表示されないのに、ソースを表示するとすべての値が表示されるのはなぜですか?
これは、パラメーターを正しく取得しないため、サーバー側で他の問題を引き起こす可能性があります。
編集- いくつかのコード
形
<form id='properties'>
<input type='text' name='name' value='previous'/>
<input type='text' name='occupation' value='unknown'/>
<input type='hidden' name='ID' value='23'/>
</form>
Javascript XMLHttpRequest メソッド
function sendRequest() {
var request = getHttpRequest();
request.onreadystatechange=function() {
if (request.readyState==4 && request.status == 200) {
console.log("Received Response: "+request.response);
}
}
request.open("POST","resort-service.php",true);
request.setRequestHeader("Content-type","application/x-www-form-urlencoded");
var form = new FormData(document.getElementById("properties"))
request.send(form);
}
Google Chrome 開発者ツールXMLHttpRequest
-送信後および応答をデバッグするために使用されます。
解析済みデータ:
------WebKitFormBoundary94v9BnBjfFvkLOzw
Content-Disposition: form-data; name:"name"
previous
------WebKitFormBoundary94v9BnBjfFvkLOzw
Content-Disposition: form-data; name
ソース データ:
------WebKitFormBoundary94v9BnBjfFvkLOzw
Content-Disposition: form-data; name="name"
previous
------WebKitFormBoundary94v9BnBjfFvkLOzw
Content-Disposition: form-data; name="occupation"
unknown
------WebKitFormBoundary94v9BnBjfFvkLOzw
Content-Disposition: form-data; name="ID"
23