ajax顺序与async:true的选择顺序不匹配

Gor*_*Ape 10 ajax jquery

我有一个在onChange事件中调用的代码

function group_changed(obj)
{
  $.ajaxSetup({async:false});
  $.post("/medilab/personnel/groups/getGroupRightsAjax",
    { 'group.id': obj.options[obj.selectedIndex].value },
    function(data){
      $("#div_rights").html(data);
    }
  );
}
Run Code Online (Sandbox Code Playgroud)

这工作正常,但如果我设置async:true有时结果与选择不匹配...我想这是发生的,因为一些请求丢失或响应没有按顺序.

知道如何保持异步吗?

Bry*_*ein 5

有一些jQuery插件支持排队和排序ajax请求.John Resig写了Ajax Queue.从插件描述:

Ajax Queue是一个有助于管理Ajax竞争条件的插件.当快速连续发出多个Ajax请求时,结果可能无序返回.这可能会导致您的应用程序出现奇怪的行为.

这听起来可能就是你需要的东西,也应该有几个不同的插件可以完成相同的事情(保持订单的ajax请求). Ajax Manager看起来更新.浏览一些插件,您可能会发现已经完成了您想要完成的任务,节省您的时间.