好的,我的问题是我的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')”。我不知道发生了什么......
答案 0 :(得分:0)
你应该不引用真实的:
if(html==true) //or just, if(html)
否则它会查找字符串&#34; true&#34;这就是为什么它会转到其他部分。
答案 1 :(得分:0)
您可以使用if(html){}
运行html
除{false}之外的任何值。
答案 2 :(得分:0)
在结束时试试login.php
echo json_encode(array("msg"=>"true"));
或成功时你可以像这样检查
if(html.msg == "true")
{}
尝试它可能会有所帮助