Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我的if语句代码中的错误在哪里?_Javascript_Jquery_Ajax_Request_Response - Fatal编程技术网

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

Javascript 我的if语句代码中的错误在哪里?,javascript,jquery,ajax,request,response,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.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';
即使响应包含字符串“passed”,但它不会进入if语句

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

那么,我的代码中的错误在哪里呢?请提前感谢

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

尝试调整响应:

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

一般来说,在此类请求中使用JSON比使用字符串更容易

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

在PHP程序中: 在Javascript代码中:
顺便说一下,如果不是
=那么它就是
==
。你当然可以像我一样简化你的其他条件。

这个问题不可重复。。。我的错。。。我很高兴提出这个问题@Ibrahim你想让问题可读吗?@Ibrahim你检查过控制台中是否有错误吗?你看到“网络”选项卡上出现的内容了吗?@Ibrahim请回答你的问题,包括你采取的调试步骤。例如,查看“网络”选项卡以查看请求的响应是什么。是的,但…我从响应中获得字符串“已传递”,但为什么if语句if(data!='passed'){get into it not if(data=='passed'))感谢您的帮助…但它不起作用..没有任何额外的空格您确定吗?这是一个常见问题。
data.length
返回什么?发送的内容类型头是什么?当然比“passed”的长度长得多这是6.使用JSON…非常干净…但为什么会发生这种情况??????…然后如何在我的状态下使用JSON?不知道为什么,在没有看到整个响应或使用的php代码的情况下。什么是
data.trim().length
return?还应该在
$中设置
dataType
。ajax
是的,它会很好。但我认为它默认为JSON。我不确定这一点,所以…比抱歉更安全。不,它不安全。它根据文档使用“智能猜测”。如果合适,它会设置服务器端。更安全的是设置它们的charlietfl数据。trim().长度返回75
echo json_encode(array('resp' => 'passed'))
if(data.resp != 'passed'){
    jQuery('#payment-errors').html(data.resp);
}
    alert(data.resp);
}