我有一个很大的表单,其中更改任何值应该触发对服务器的ajax调用,执行一些计算并返回结果。但问题是,用户不会等待每个ajax调用完成,并且在几次这样的调用堆积之后,我得到的最后结果可能不是最近一次调用服务器的结果,因为每个调用的响应时间ajax呼叫可能并将根据数据和其他因素而有所不同。但是我需要确保向用户展示与最近更改相对应的数据。所以,我需要确保使用jquery get或post的最新响应
1)有没有办法避免这种情况,而使用$ .get()或$ .post()?
2)在上述两种方法中有没有办法使用同步/异步?或者我必须使用$ .ajax()?
编辑:
我用一个简单的Ajax方法
$("#someField").blur(function(e){
$.get("someURL.php?v="+$(this).val(),function(d){
$("#result").html(d);
});
})
你能提供你已经使用的代码片段吗?使用.get或.post回调函数可以让您在收到返回结果时调用其他函数。 – John 2013-03-07 11:28:47
我修改了我的帖子,看到上面的 – Bluemagica 2013-03-07 11:32:09
我认为你需要使用递归回调 - 让它自己调用,但只要它完成了,不管它在后端做什么 – 2013-03-07 11:32:48