gpt4 book ai didi

javascript - "Waiting"表示 ReadyState 在返回值之前为 4

转载 作者:行者123 更新时间:2023-12-02 20:29:55 25 4
gpt4 key购买 nike

我已经在很多地方寻找过这个,我可能是个白痴,因为这已经做了很多,但这是我的情况。

我正在尝试在我的网站上的电子邮件字段旁边显示一个复选框,前提是该电子邮件尚未用于注册。

我拥有的是这样的:

$('[name=reg_email]').change( function() { 
if(!emailUsed()) {
//Update image to be a green checkmark
} else {
//Update image to be a huge red X
}
}

我的“emailUsed”函数应该返回一个 Javascript bool 变量,具体取决于电子邮件地址是否在数据库中。为了促进这一点,我创建了一个脚本来确定它是否存在。所以emailUsed()函数只需要调用脚本并返回,但是我需要等到readystate == 4才返回,并且我找到的所有等待readystate等于4的方法都阻止我返回值完全:

function emailUsed() {
var req = $.get('scripts/email_used.php?email='+$('[name=reg_email]').val());

//Wait for req.readystate to be 4

return req.responseText == 'True';
}

但是我找不到任何东西可以解释如何执行此操作并仍然返回值。一切似乎都使用回调函数和这个那个,但我无法让这个方法返回一个值。

请帮忙!

最佳答案

对 req.readyState === 4 进行繁忙的等待被认为是不好的设计实践。您正在占用 UI 线程并阻止浏览器更新。如果服务器响应速度太慢,系统会提示用户是否取消进一步处理。

如果你看一下 $.get(),它接受一个完成函数作为其参数之一。您应该在此函数中执行成功/失败逻辑。您可以通过禁用“提交”按钮直到收到成功消息来完成此操作。

关于javascript - "Waiting"表示 ReadyState 在返回值之前为 4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4340341/

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