Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在嵌套函数中返回数据_Javascript_Jquery - Fatal编程技术网

Javascript 如何在嵌套函数中返回数据

Javascript 如何在嵌套函数中返回数据,javascript,jquery,Javascript,Jquery,我试图在检查用户是否存在后返回函数 var data = checkUser(); alert(data); //检查用户后返回数据 function checkUser(){ $.ajax({ type : "get", url : "checkuser", data : { username : username, }, success: function(){ return "ok";

我试图在检查用户是否存在后返回函数

   var data = checkUser();
    alert(data);
//检查用户后返回数据

function checkUser(){
$.ajax({
  type : "get",
  url : "checkuser",
  data : {
     username : username,
 },
 success: function(){
  return "ok";
 },
 error : function(){
  return "error";
 }
});
}

如果嵌套函数是异步函数,则需要使用
async
wait
。 一种方法是:

async function checkUser(){
    try {
       const result = await fetch("checkuser",{data:username});
       alert("ok");
    } catch (err) {
       alert("error");
    }

}
最好在这种情况下使用:

 var myCallback = function(data){
   alert(data);
 };

 checkUser(myCallback);
 
您的ajax将是:

function checkUser(callback){
$.ajax({
  type : "get",
  url : "checkuser",
  data : {
     username : username,
 },
 success: function(){
   callback("ok");
 },
 error : function(){
  callback("error");
 }
});
}

请阅读有关

您无法从异步函数返回的详细信息。我希望返回ok/error string checkUser函数