这是我的AJAX代码。 if部分运行完美,但其他部分不运行。 当php代码中的mysql_query()成功运行时,流进入else部分。但是当它失败时,它会输入if并在页面上打印消息。
这是javascript函数。
function process(id,id_val){
if(xmlObject.readyState==0 || xmlObject.readyState==4){
xmlObject.open("GET","dataProc.php?id=" + id, true);
xmlObject.onreadystatechange = callBack(id_val);
xmlObject.send(null);
}else{
setTimeout("process()",1000);
}
}
function callBack(nid_val){
return function(){
if(xmlObject.readyState==4){
if(xmlObject.status==200){
xmlResponse = xmlObject.responseXML;
xmlDocumentElement = xmlResponse.documentElement;
message = xmlDocumentElement.firstChild.data;
if(message.charAt(0)==="O"){ //This is the if statement iam talking about.
document.getElementById("result").style.display='block';
document.getElementById("result").innerHTML = message;
}else{
str="greendiv";
str=str.concat(nid_val);
document.getElementById(str).className="btn btn-success disabled";
}
}else{
alert("Something went wrong");
}
}
};
}
这是PHP代码。
<?php
header('Content-Type: text/xml');
require "connect.inc.php";
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
echo '<response>';
$id=$_GET['id'];
$query="UPDATE `profiles` SET `val`= '1' WHERE `id`='".$id."'";
if(!mysql_query($query)){
echo "Oops something went wrong for $id";
}else{
echo "Updated table for $id";
}
echo '</response>';
?>