AJAX发送到php控制器不使用javascript

AJAX发送到php控制器不使用javascript,javascript,php,ajax,Javascript,Php,Ajax,这个片段显示了我的html和js。在我的php控制器中,我只打印了r($\u POST),但我只看到了myName的表单数据,我不知道如何访问zzz 更新:我添加了一些代码以确保发送请求完成。但是,如果我不提交表单,控制器就不会从发出xhttp请求开始执行。我仍然无法将任何js数据导入php。我可以创建隐藏的输入并从js和submit中填充这些输入,但这看起来很难看。有人能帮忙吗 函数swagSend(){ event.preventDefault(); var xhttp=newXMLHtt

这个片段显示了我的html和js。在我的php控制器中,我只打印了r($\u POST),但我只看到了myName的表单数据,我不知道如何访问zzz

更新:我添加了一些代码以确保发送请求完成。但是,如果我不提交表单,控制器就不会从发出xhttp请求开始执行。我仍然无法将任何js数据导入php。我可以创建隐藏的输入并从js和submit中填充这些输入,但这看起来很难看。有人能帮忙吗

函数swagSend(){
event.preventDefault();
var xhttp=newXMLHttpRequest();
xhttp.open(“POST”https://www.sustainablewestonma.org/wp-content/themes/twentytwelve-child/php/send_email.php“,对);
xhttp.onreadystatechange=函数(){
如果(xhttp.readyState==4&&xhttp.status==200){
console.log(xhttp.responseText);
}
}
var henry=“henry”
setRequestHeader(“内容类型”,“应用程序/x-www-form-urlencoded”);
xhttp.send(“zzz=“+henry”);
xhttp.onreadystatechange=函数(){
如果(xhttp.readyState==4&&xhttp.status==200){
document.getElementById(“myForm”).submit();
}
}
}

提交

您应仅使用xhttp.send发送,而不应另外使用document.getElementById(“myForm”).submit()发送

如果您正在进行Ajax调用,则没有理由提交表单。移除它

如果希望在Ajax调用中提交表单数据,则需要读取表单输入值并自己构建列表

函数swagSend(事件){
event.preventDefault();
var xhttp=newXMLHttpRequest();
setRequestHeader(“内容类型”,“应用程序/x-www-form-urlencoded”);
xhttp.open(“POST”https://www.sustainablewestonma.org/wp-content/themes/twentytwelve-child/php/send_email.php“,对);
xhttp.onreadystatechange=函数(){
如果(xhttp.readyState==4&&xhttp.status==200){
console.log(xhttp.responseText);
}
}
var henry=“henry”
var name=encodeURIComponent(document.getElementById(“myname”).value)
xhttp.send(“zzz=“+henry+”&myname=”+name);
}

提交

在哪里定义了
event
事件?只是指出代码中的缺陷。它不需要定义Window。event不是使用event对象的正确方法。使用jquery非常优雅,完全没有帮助抱歉更改了我的答案