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);
}