wil*_*amg 11 string ajax comparison jquery if-statement
我正在努力做一些非常简单的事情.这是代码:
if(data == 'success') {
alert('foo');
} else {
alert(data);
}
Run Code Online (Sandbox Code Playgroud)
我简化了它,但这就是理解正在发生的事情的必要条件.变量'data'是AJAX调用的结果,如果这有任何区别的话.问题在于它总是转到'else'语句并且它会提醒'成功',如果它转到'else'则不应该这样.知道这里发生了什么吗?
编辑:这是jQuery中的完整AJAX代码:
$.post("/manage_sites.php", {before:before, edit:after}, function(data){
if(data == success) {
alert('blah');
} else {
alert(data);
}
});
Run Code Online (Sandbox Code Playgroud)
然后在PHP响应中:
...code....
$update = mysql_query("UPDATE users SET feeds = '$afterFeed' WHERE username = '$name'") or die("Query Failed");
if($update) {
echo 'success'; //this is the 'string' that is being given to 'data'
}
Run Code Online (Sandbox Code Playgroud)
Nic*_*ver 29
您可以使用以下方法在客户端修复它$.trim()
:
if($.trim(data) == 'success') {
Run Code Online (Sandbox Code Playgroud)
或者,一个更好的方法是删除来自服务器端的新线路,可能是某个地方错误的新线路,在<? ?>
阻塞之前或之后检查 ,这通常是它们出现的地方.
或者,在输出内容后退出,如下所示:
if($update) {
echo 'success';
exit();
}
Run Code Online (Sandbox Code Playgroud)