2016-10-29 21 views
0

XMLHttpRequestを使用してFormDataをIISサーバーに送信しています。サーバー上で、Request.Formオブジェクトは、ブラウザがIEの場合はフォームデータを持ちますが、ブラウザがFireFoxまたはChromeの場合はフォームデータはありません。以下の例では、FormDataオブジェクトを使用してフォームをサーバーに送信します。 IEの場合、Request.Form.Countは1です.FireFoxとChromeではゼロです。どのような場合でも、結果は1と予想されます。私は何か間違っていると思っていますが、私はそれを見ていません。IIS Request.FormとJavaScript XMLHTTPRequestがFirefoxとChromeで動作しない

は、ここでクライアントコードです:

<script> 

    function SubmitForm() { 
     var http = new XMLHttpRequest() 
     var data = new FormData() 
     data.append("Text1", document.getElementById("Text1").textContent); 
     http.open("POST", "ajaxtest.aspx", true); 
     http.setRequestHeader("Content-Type", "multipart/form-data"); 
     http.onreadystatechange = function() { 
      if (http.readyState == 4 && http.status == 200) { 
       alert(http.responseText); 
      } 
     } 
     http.send(data); 
    } 
</script> 
<body> 
    <input id="Text1" type="text" value="This is text to the server" /> 
    <input id="Button1" type="button" value="button" onclick="SubmitForm()" /> 
</body> 

そしてここでは、サーバーのコードは次のとおりです。

Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load 
    If Request.HttpMethod = "POST" Then 
     Response.Write("Request.Form.Count=" & Request.Form.Count) 
     Response.End() 
    End If 
End Sub 

任意の提案や説明と解決策をいただければ幸いです。

答えて

0

問題は、setRequestHeaderでした。私はそれを削除し、望ましい動作を得ました。

関連する問題