我有一个在
的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);
}
);
}
这样可以正常但如果我设置async:true有时结果与选择不匹配... 我想这种情况正在发生,因为有些请求丢失了,或者响应没有按顺序排列。
知道如何保持异步?
答案 0 :(得分:5)
有一些jQuery插件支持排队和排序ajax请求。 John Resig写了Ajax Queue。来自插件说明:
Ajax Queue是一个有用的插件 管理Ajax竞争条件。什么时候 发出多个Ajax请求 快速接班,结果可以 退回了故障。这可能会导致 你的应用程序中的奇怪行为。
听起来这可能就是你所需要的,还应该有几个不同的插件可以完成相同的事情(保持订单的ajax请求)。 Ajax Manager看起来更新。浏览一些插件,您可能会发现已经完成的任务,节省您的时间。
答案 1 :(得分:1)
$.ajax
({
type:'post',
data:'',
dataType: 'html',
url: '',
success: function(data) {
alert('data');
},
error: function() {
alert("Error");
}
});
答案 2 :(得分:1)
经理是一个解决方案,但我使用abort()解决了我的问题!