这是代码:
$("#sign-in-btn").click(function () {
var $username = $("#id_username").val();
var $password = $("#id_password").val();
var userID;
$.getJSON("testdata.json", function (data) {
var user = data.user;
for (i = 0; i < user.length; i++) {
if ($username == user[i].username && $password == user[i].password) {
userID = user[i].id;
setCookie("userID", userID, 7);
return;
}
}
});
if (userID) {
return true;
} else {
return false;
}
});
请问是怎么回事?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
你别闹,你的
$.getJSON
是的异步方法,它的执行结果一定是在执行完之后,才得到的。所以,当你判断
if(userID)
的时候,$.getJSON
其实还没得到结果呢。去看看大神之间的撕逼之作,你就懂了
getJSON
是异步的,你最后的if语句要放在getJSON
的第二个参数的函数里面去ajax没开启同步呗
异步惹的祸。
大枫哥的id,难怪那么眼熟