好吧,我的问题是我的 Ajax 成功功能无法正常工作,但在另一个网页上可以正常工作。很烦人吧?他们具有相同的代码(复制粘贴并编辑),当然变量不同。
工作代码:
$.ajax({
type: 'POST',
url: 'login.php',
data: {
uname: username,
pass: password
},
success: function(html){
alert(html);
if(html=='true') {
$("#add_err").html("right username or password");
window.location="../home.php";
}
else {
$("#add_err").css('display', 'inline', 'important');
$("#add_err").html("<img src='images/alert.png' />Wrong username or password"+username+password);
}
},
beforeSend:function()
{
$("#add_err").css('display', 'inline', 'important');
$("#add_err").html("<img src='images/ajax-loader.gif' /> Loading...")
}
});
Login.php 将根据查询仅回显“true”或“false”一词。
这是不工作的代码:
$.ajax({
type: 'POST',
url: 'loginphp.php',
data: {
username1: username,
password1: password
},
success: function(html){
alert(html);
if(html=='true')
{
$("#errorlogin").html("right username or password");
window.location="../php/home.php";
}
else
{
$("#errorlogin").css('display', 'inline', 'important');
$("#errorlogin").html("<img src='images/alert.png' />Wrong username or password"+username+password);
}
},
beforeSend:function()
{
$("#errorlogin").css('display', 'inline', 'important');
$("#errorlogin").html("<img src='images/ajax-loader.gif' /> Loading...")
}
});
Loginphp.php 将根据查询仅回显“true”或“false”一词。
正如你所看到的,它们在技术上是相同的,但代码不起作用,即使loginphp.php回显TRUE,成功函数也会直接转到ELSE。
我知道它确实回应了 TRUE,因为我使用了“alert(html)”并且它确实显示了 TRUE。
但是在工作代码中,会触发“if(html=='true')”。我不知道发生了什么..
最佳答案
您应该取消对 true 的引用:
if(html==true) //or just, if(html)
否则它将查找字符串“true”,这就是它转到 else 部分的原因。
关于javascript - Ajax 成功功能无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36075530/