Javascript AJAX从查询中检索信息
我现在真的很困惑,我对这一切都很陌生,只是在学习java脚本和php。我正在尝试使用ajax检查数据库,看看是否存在电子邮件,然后如果是取消表单提交。我似乎无法从XML中检索信息。我可能做得完全错误,但这就是为什么我在这里要求,倾斜 所以如果你能帮忙,那就太好了 JAVA脚本Javascript AJAX从查询中检索信息,javascript,php,ajax,Javascript,Php,Ajax,我现在真的很困惑,我对这一切都很陌生,只是在学习java脚本和php。我正在尝试使用ajax检查数据库,看看是否存在电子邮件,然后如果是取消表单提交。我似乎无法从XML中检索信息。我可能做得完全错误,但这就是为什么我在这里要求,倾斜 所以如果你能帮忙,那就太好了 JAVA脚本 //验证注册/注册表单 函数validateForm(){ //获取密码变量 var pass=document.forms[“注册”][“注册密码”]。值; var confPass=document.forms[“s
//验证注册/注册表单
函数validateForm(){
//获取密码变量
var pass=document.forms[“注册”][“注册密码”]。值;
var confPass=document.forms[“signup”][“password confirm”]。值;
//检查它们是否匹配
如果(通过!=确认通过){
警报(“密码不匹配”);
返回false;
}
//Ajax函数
if(xmlHttp.readyState==0 | | xmlHttp.readyState==4){
警惕(“我在这里”);
email=document.getElementById('email2')。值;
xmlHttp.open(“GET”,“php/ajaxCom.php?email=“+email,true”);
xmlHttp.onreadystatechange=handleServerResponse;
xmlHttp.send(空);
}否则{
setTimeout('process()',1000);
}
}
函数handleServerResponse(){
if(xmlHttp.readyState==4){
var check=xmlHttp.status;
if(xmlHttp.status==200){
警报(“此处亦为2”);
xmlResponse=xmlHttp.responseXML;
xmlDocumentElement=xmlResponse.documentElement;
message=xmlDocumentElement.firstChild.data;
警报(信息);
返回消息;
}
}
}
您以错误的方式构建和处理ajaxXMLHttpRequest
。此外,为了能够接收XML响应,请设置额外的请求头(将进一步显示)。
更改ajax请求,如下所示:
var xmlHttp = null; // this variable should be global to access from different functions
...
//Ajax functions
email = document.getElementById('email2').value;
xmlHttp = new XMLHttpRequest();
xmlHttp.open("GET", "php/ajaxCom.php?email=" + email, true);
xmlHttp.setRequestHeader("Accept", "text/xml");
xmlHttp.onreadystatechange = handleServerResponse;
xmlHttp.send(null);
...
function handleServerResponse(){
if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
var check=xmlHttp.status;
var xmlResponse = xmlHttp.responseXML;
var xmlDocumentElement = xmlResponse.documentElement;
message = xmlDocumentElement.firstChild.data;
alert(message);
return message;
} else{
setTimeout('process()',1000);
}
}
请看这一行
mysqli\u query($link,$query)
<代码>$query应该已经是结果对象。您还可以使用此代码进行SQL注入,请查看准备好的语句。@chris85这是一个对象检查电子邮件是我的查询$query
虽然不是一个查询,但它是一个结果对象(或false)因为您已经执行了查询。感谢您的回复,但消息已发送出去,请尝试对此行进行注释echo$status
仅发送xml结构。也将此行xmlDocumentElement.firstChild.data
替换为xmlDocumentElement.childNodes[0]
,并通过console.log(message)