我的if语句代码中的错误在哪里?

时间:2018-04-07 21:22:59

标签: javascript jquery ajax request response

我有一个问题,我向页面发送请求,当我得到响应时,这是一个字符串出错了

这是代码请求:

 jQuery.ajax({
     url:'../admin/parsers/check_address.php',
     method:'post',
     data :data,//data that is been requested   
     success:function(data){
         if(data != 'passed'){

             jQuery('#payment-errors').html(data);
         }
         if(data=='passed'){
            alert(data);
         }
     },//this data is which is coming back from response
     error:function(){alert('حدث خطأ ما');},

 });

这是响应的代码:

echo 'passed';

即使响应包含字符串'pass'但它不会进入if语句

if(data=='passed'){
                alert(data);
             }

所以代码中的错误在哪里,并提前感谢

2 个答案:

答案 0 :(得分:1)

很可能在字符串的两端也有一些额外的空格(由于php文件中的空格)

尝试修剪回复:

if(data.trim() == 'passed'){

通常,对于此类请求,使用JSON比使用字符串更容易

答案 1 :(得分:0)

您的答案应该是JSON对象,而不是字符串。尝试执行以下操作:

在您的PHP程序中:

echo json_encode(array('resp' => 'passed'))

在您的Javascript代码中:

if(data.resp != 'passed'){
    jQuery('#payment-errors').html(data.resp);
}
    alert(data.resp);
}

顺便说一下,如果某些内容不是!=,那么它就是==。你可以像我一样简化你的其他条件。