IIS Request.Form 和 JavaScript XMLHTTPRequest 在 Firefox 和 Chrome 中不工作

IIS Request.Form and JavaScript XMLHTTPRequest not working in Firefox and Chrome

我正在使用 XMLHttpRequest 将 FormData 发送到 IIS 服务器。在服务器上,Request.Form对象在浏览器为IE时有表单数据,在浏览器为FireFox或Chrome时没有表单数据。下面的示例使用 FormData 对象向服务器提交表单。对于 IE,Request.Form.Count 为 1。对于 FireFox 和 Chrome,它为零。在所有情况下,我都希望结果为 1。我希望我做错了什么,但我没有看到它。

这是客户端代码:

<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

如有任何建议或解释和解决方案,我们将不胜感激。

原来是setRequestHeader的问题。我删除了它并获得了所需的行为。