我有一个在anChange事件调用的代码
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); } ); }
这工作正常,但如果我设置异步:true有时结果不匹配选择…
我猜这是发生的,因为有些请求丢失或响应不顺序.
任何想法要做什么来保持异步?
解决方法
有几个jQuery的插件支持排队和排序ajax请求. John Resig写了
Ajax Queue.从插件说明:
Ajax Queue is a plugin that helps to
manage Ajax race conditions. When
multiple Ajax requests are made in
rapid succession,the results can be
returned out of order. This can cause
weird behavior in your application.
这听起来可能是你需要的,也应该有几个不同的插件可以完成同样的事情(保持ajax请求排序). Ajax Manager看起来是更新的.浏览一些插件,你可能会发现一些已经做了你想要完成的工作,节省了时间.