gpt4 book ai didi

javascript - 否则无法在 JavaScript 中工作

转载 作者:行者123 更新时间:2023-11-28 15:47:24 24 4
gpt4 key购买 nike

这是我的代码

  $('#login').on('click',function(e){
e.preventDefault();
var username = document.getElementById('username').value;
var password = document.getElementById('password').value;
var ajax = new XMLHttpRequest();
var vars = 'username='+username+'&password='+password;
var url = "singInDrProcess.php";
ajax.open("POST", url, true);
ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
ajax.send(vars);
ajax.onreadystatechange = function() {
if(ajax.readyState == 4 && ajax.status == 200) {
var return_data = ajax.responseText;
if(return_data!="success_login")
document.getElementById("result_signin").innerHTML = return_data;
}else{
window.location.replace("profile.php");
}
}
});

问题是,当用户来到此页面并尝试登录时,即使他从未输入任何用户名或密码,而只需单击我的登录按钮,页面也会重定向到 profile.php我的意思是,ELSE 部分总是运行,要么字段上有数据,要么全部为空有什么问题吗?

最佳答案

根据括号缩进代码:

if(ajax.readyState == 4 && ajax.status == 200) {
var return_data = ajax.responseText;
if(return_data!="success_login")
document.getElementById("result_signin").innerHTML = return_data;
}else{
window.location.replace("profile.php");
}
} // extraneous

这不是你想要的。

if(return_data!="success_login") 之后添加 { 或在 else 之前删除 }将修复它:

if(ajax.readyState == 4 && ajax.status == 200) {
var return_data = ajax.responseText;
if (return_data!="success_login") {
document.getElementById("result_signin").innerHTML = return_data;
} else {
window.location.replace("profile.php");
}
}

关于javascript - 否则无法在 JavaScript 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21831351/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com