Javascript 发送和处理表单数据

Javascript 发送和处理表单数据,javascript,ajax,form-data,Javascript,Ajax,Form Data,我已经为下面的代码奋斗了几个小时,但没有成功。在我的html中,我有几个输入(type=text,type=date和selects),还有一个调用js函数的按钮:onclick=SendNewData() JS函数如下所示: function SendNewData() { var MyData1=document.getElementById("id1").value; var MyData2=document.getElementById("id2").value;

我已经为下面的代码奋斗了几个小时,但没有成功。在我的html中,我有几个输入(type=text,type=date和selects),还有一个调用js函数的按钮:
onclick=SendNewData()

JS函数如下所示:

function SendNewData() {
     var MyData1=document.getElementById("id1").value;
     var MyData2=document.getElementById("id2").value;
     var MyData3=document.getElementById("id3").value;

    if (window.XMLHttpRequest) {
        xhr = new XMLHttpRequest();
    } else {
        xhr = new ActiveXObject("Microsoft.XMLHTTP");
    }   
    xhr.open('POST', 'Handler.php', true);

    xhr.onreadystatechange = function() {
        if (xhr.readyState == 4 && xhr.status==200) {
            document.getElementById("FormNuevaCom").innerHTML = xmlhttp.responseText;   
        }
    }

    var data = new FormData;
    data.append('DATA1', MyData1);
    data.append('DATA2', MyData2);
    data.append('DATA3', MyData3);

    xhr.send(data);     
}
if(isset($_POST['DATA1'])) {
    $MyVar=$_POST['DATA1'];
    echo "Hi there! ".$MyVar." received...";

}
Handler.php
类似于以下内容:

function SendNewData() {
     var MyData1=document.getElementById("id1").value;
     var MyData2=document.getElementById("id2").value;
     var MyData3=document.getElementById("id3").value;

    if (window.XMLHttpRequest) {
        xhr = new XMLHttpRequest();
    } else {
        xhr = new ActiveXObject("Microsoft.XMLHTTP");
    }   
    xhr.open('POST', 'Handler.php', true);

    xhr.onreadystatechange = function() {
        if (xhr.readyState == 4 && xhr.status==200) {
            document.getElementById("FormNuevaCom").innerHTML = xmlhttp.responseText;   
        }
    }

    var data = new FormData;
    data.append('DATA1', MyData1);
    data.append('DATA2', MyData2);
    data.append('DATA3', MyData3);

    xhr.send(data);     
}
if(isset($_POST['DATA1'])) {
    $MyVar=$_POST['DATA1'];
    echo "Hi there! ".$MyVar." received...";

}

我没有得到任何回应。任何人都能发现问题?

您的请求标头是否包含上述数据?我真的不知道您所说的
请求标头是什么意思。所以我认为答案是否定的,因为没有其他代码。ActiveXObject?IE6的编码?:/打开ChromeDevTools网络选项卡,查看请求,它是否按预期发送?PHP服务器收到请求了吗?打开开发工具中的“网络”选项卡并提交表单数据。转到XHR选项卡,单击描述中的端点->你会找到请求头你是否尝试了
var\u dump($\u POST)在你的php文件中?!输出是什么?