gpt4 book ai didi

javascript - jQuery 不返回 true 或 false

转载 作者:行者123 更新时间:2023-11-28 11:13:12 25 4
gpt4 key购买 nike

所以我这样做:

function loginFunc(userNameOrEmail, passWord){
var emailOrUserNameV = encodeURIComponent(userNameOrEmail);
var passWordV = encodeURIComponent(passWord);
$.getJSON("http://mysite.com/pullData/login.php?callback=?",
{
emailOrUserName: emailOrUserNameV,
passWord: passWordV
},
function(recievedData) {
if(recievedData[0] == 'true'){
return true;
}
else{
return false;
}

});

}

然后我这样做:

$('#loginBtnHtml').click(function(){
var emailVar = $('#email_html').val();
var pwdVar = $('#password_html').val();
if(loginFunc(emailVar, pwdVar)){
alert('good');
}
else{
alert('bad');
}

});

如果我使用 alert(recievedData[0]); 运行 loginFunc() ,它工作正常,我如何让它返回 bool 到 $('#loginBtnHtml').click(); ?

当我这样做来排除故障时:

$('#loginBtnHtml').click(function(){
var emailVar = $('#email_html').val();
var pwdVar = $('#password_html').val();
var whatIsBeingReturned = loginFunc(emailVar, pwdVar);
alert(whatIsBeingReturned);

});

它发出“未定义”警报...不确定我做错了什么。

最佳答案

您无法从 ajax 返回。除非 ajax 是同步的(不要这样做!),否则您不能依赖于以任何特定顺序执行的代码。 所有需要 ajax 响应的功能都必须位于 ajax 回调中。

function loginFunc(userNameOrEmail, passWord){
...
return $.getJSON("http://mysite.com/pullData/login.php?callback=?",
}

$("#loginBtnHtml").on('click', function () {
//snip
loginFunc(emailVar, pwdVar).done(function (whatIsBeingReturned) {
console.log(whatIsBeingReturned);
});
});

关于javascript - jQuery 不返回 true 或 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14575361/

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