Javascript 发送和处理表单数据
我已经为下面的代码奋斗了几个小时,但没有成功。在我的html中,我有几个输入(type=text,type=date和selects),还有一个调用js函数的按钮: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;
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文件中?!输出是什么?