Вот мой код для AJAX. Часть if работает отлично, а часть нет.
Поток входит в остальную часть, когда mysql_query () в коде php работает успешно. Но когда он терпит неудачу, он вводит 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>';
?>
Задача ещё не решена.
Других решений пока нет …