jquery $.get嵌套读取数据造成数据读取不同步,怎么保证数据读取完后再执行下一个$.get

2024-12-16 00:00:22
推荐回答(2个)
回答1:

我并不清楚你用$.get嵌套来完成什么样的功能,但异步的ajax嵌套这种做法是不推荐的!
如果你要按顺执行$.get,可以尝试把下一个$.get放到前一个的回调函数里
如:
function A{
$.get("url", function(data){
//调用B方法
B();
});
}
function B{
$.get("url", function(data){ });
}

回答2:

我觉得执不执行下个异步获取,你完全可以在第一个异步获取返回内容那边加上一个tag。如我用php实现。我会这样写。
假设第一次的获取页面为info,php
那么我这个info.php处理定要返回一个结构化内容。一个是$result(即是你要的返回值),一个是$code(数据状态)。你的需求就可以用到这个$code。因为是异步获取,返回的数据结果状态捕获很重要。假设我定$code = 0为没接收到数据,2为出现异常,1为成功。至于这几种状态你怎么区分那是你的事。我info.php最终输出会是
echo json_encode(array('result'=>$result,'code'=>$code));
上面这样的形式。那么我请求完info.php,我是不是可以用$.get(url,function(d){if(d.code==1){这里再写下个异步获取}});完成你的需求。
我觉得你的问题是没想到自己定个数据获取状态规则。