问题描述
新手,想问一下为什么13、18行那句,放在 if 中就没有执行,放在下面 else 中就可以呢?难道跟return false有关吗?可能原因是什么?试了很久没找到原因,其他地方应该都正确。$.ajax({ type: "POST", url: "login.php?action=login",dataType:"json", data: {"id":user,"p":userpwd}, beforeSend: function(){…… }, success: function(json){var userr = document.getElementById("user");var userpwdd = document.getElementById("userpwd");if(json.success == 1){$("#lou").html('用户:' + user);}else{if(json.success <5){$("#user").focus();}else{$("#userpwd").focus();}userpwdd.value=""; $("#lou").html('用户:' + user);}}});
解决方案
这样你先 alert(json.success);//看这个里面是什么值,如果是1 确保后台输出的json格式 可以这样做:var demo=eval(json.success);然后在做判断if(demo == 1){ ......}
解决方案二:
if(json.success == '1')if(json.success == "1")以上问题也碰到过。你可以用console.log(json);看下变量
解决方案三:
typeof json.success 若果是number才能 == 1如果不是 写成 == “1”