带有If语句的Ajax响应文本

带有If语句的Ajax响应文本,ajax,Ajax,我使用Ajax通过php文件修改mysql数据库中的一些数据。我已经编写了代码,使php文件回显“OK”或“ERROR”。我已经与alert(ret)进行了检查,它工作正常。但问题在于if(ret==“OK”)。它没有进入这个声明。有人能帮我吗 xmlhttp=new XMLHttpRequest(); xmlhttp.onreadystatechange=function(){ if (xmlhttp.readyState==4 && xmlhttp.status==20

我使用Ajax通过php文件修改mysql数据库中的一些数据。我已经编写了代码,使php文件回显“OK”或“ERROR”。我已经与alert(ret)进行了检查,它工作正常。但问题在于if(ret==“OK”)。它没有进入这个声明。有人能帮我吗

xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=function(){
   if (xmlhttp.readyState==4 && xmlhttp.status==200){
       document.getElementById('Store_cards_action_form_close').click();
       ret = xmlhttp.responseText;
       if (ret=="OK"){
           alert("Congratulations. Transaction Successful.");
           document.location.reload();      
       }
       else{
           alert("You have Insufficient Coins to buy this Card!");
       }
   }
}
xmlhttp.open("GET","script_card_transaction.php?" + para,true);
xmlhttp.send();   

正如我在评论中提到的,您的回复文本周围可能有一些空白字符。您可以使用响应文本,也可以使用JSON格式的字符串。例如,在PHP文件中

header('Content-type: application/json');
echo json_encode(array('status' => $status)); // where $status is 'OK' or 'ERROR'
exit;
然后,在JS中将其解析为JSON

var ret = JSON.parse(xmlhttp.responseText);
if (ret.status == 'OK') {
    // etc
我可能会更进一步,使用比字符串“OK”和“ERROR”更不含糊的东西。比如说

echo json_encode(array('success' => $isSuccess)); // where $isSuccess is a boolean (true or false)
还有JS

if (ret.success) {
    // etc

正如我在评论中提到的,您的回复文本周围可能有一些空白字符。您可以使用响应文本,也可以使用JSON格式的字符串。例如,在PHP文件中

header('Content-type: application/json');
echo json_encode(array('status' => $status)); // where $status is 'OK' or 'ERROR'
exit;
然后,在JS中将其解析为JSON

var ret = JSON.parse(xmlhttp.responseText);
if (ret.status == 'OK') {
    // etc
我可能会更进一步,使用比字符串“OK”和“ERROR”更不含糊的东西。比如说

echo json_encode(array('success' => $isSuccess)); // where $isSuccess is a boolean (true or false)
还有JS

if (ret.success) {
    // etc

您的回复中可能有一些空格。请看,您的回复中的文本周围可能有一些空白。请参阅感谢json的建议。我没有检查空格。但不管怎样,这个问题用jsonencode解决了。但是,为什么它不能使用简单字符串而不是json仍然困扰着我。非常感谢,伙计。@Draven可能是一个回车符,或者是你回复文本中任何其他看不见的字符。不管它是什么,它都不等于“OK”,谢谢json的建议。我没有检查空格。但不管怎样,这个问题用jsonencode解决了。但是,为什么它不能使用简单字符串而不是json仍然困扰着我。非常感谢,伙计。@Draven可能是一个回车符,或者是你回复文本中任何其他看不见的字符。不管它是什么,它都不等于“OK”