当php查询成功运行时,XML不返回xml响应

时间:2016-03-09 14:16:42

标签: javascript php ajax xml web-development-server

这是我的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>';
?>

0 个答案:

没有答案