gpt4 book ai didi

javascript - 如何将 AJAX 检索的值返回给 JavaScript 中当前函数的父函数?

转载 作者:数据小太阳 更新时间:2023-10-29 04:33:03 25 4
gpt4 key购买 nike

我有以下 JavaScript(和 jQuery)代码:

function checkEmail(email) {
if (email.length) {
$.getJSON('ajax/validate', {email: email}, function(data){
if (data == false) {
// stuff
}
return data;
})
}
}

我希望匿名函数返回数据给父函数checkEmail()。我试着做这样的事情:

function checkEmail(email) {
if (email.length) {
var ret = null;
$.getJSON('ajax/validate', {email: email}, function(data){
if (data == false) {
// stuff
}
ret = data;
})
return ret;
}
}

当然这不会起作用,因为 $.getJSON() 调用是异步的,因此它会在 GET 请求完成之前返回 ret

有什么想法吗?

谢谢!

最佳答案

通常,处理此类问题的最佳方法是使用某种形式的回调函数。实际上,它确实是唯一可行的解​​决方案——唯一的其他选择是编写您自己的浏览器扩展程序,这有点多(除非您真的喜欢用头撞墙)。这些版 block 上其实有很多类似的问题:你可以试着搜索一些,很多都很好。

修改代码:

function checkEmail(email) {
/*
original parts of the function here!
*/

if (email.length) {
$.getJSON('ajax/validate', {email: email}, function(data){
if (data == false) {
// stuff
}
checkEmailResponse( data );
})
}
}

function checkEmailResponse( data )
{
// do something with the data.
}

关于javascript - 如何将 AJAX 检索的值返回给 JavaScript 中当前函数的父函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1461895/

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