这是我的代码:
$.ajax({
type: "POST",
url: "/myURL",
success: function(msg){
alert(msg);
// aler prints success, but msg != "success" ????
if (msg == "success") {
//my code
} else {
//other code
}
}
});
发生了一些事情:警报对话框打印成功,但是msg!=“成功”。我错过了什么? 我的php方法只是根据某些动作返回“成功”或“失败”。
答案 0 :(得分:1)
把这个放在条件之前:
msg= jQuery.trim(msg).toLowerCase();
假设您的代码使用的是JQuery
答案 1 :(得分:1)
尝试:
if (msg.trim().toLowerCase() == "success")
{...}
如果跨浏览器不支持trim
方法,则可能需要对其进行原型设计。
答案 2 :(得分:1)
简单地说,您可以使用===进行比较。可能有用。
答案 3 :(得分:0)
文字周围可能有空白区域。
我可以建议一种强大的方法来解决此问题,以JSON等特定格式返回数据。
添加
dataType:'json'
到你的$ .ajax配置,并有PHP输出
header('Content-Type: application/json');
echo json_encode(array('msg'=>'success'));
或'msg'=>'failure'
当然是另一种可能性。
然后在JS中,
success: function(data){
alert(data.msg);
if (data.msg == "success") {
//my code
} else {
//other code
}