ajax请求时遇到的问题

							方案一:
							for(var i=0,len=tableEID.length; i<len; i++){
								////tableID=['tableE_tbGroup_0','tableE_tbGroup_1']
								var prefixIndex=tableEID[0].lastIndexOf('_');
								var prefix=tableEID[0].slice(0,prefixIndex);
								$.post("index.php/"+_name+"/"+prefix+"_read?flag="+i,formArr,function(data){																	console.log(i);$("#"+tableEID[i]).datagrid('loadData',data);
																		
								});
							}
							方案二:
							var prefixIndex=tableEID[0].lastIndexOf('_'),
								prefix=tableEID[0].slice(0,prefixIndex),
								i=0,
								len=tableEID.length,
								repeatPost=function(){
									$.post("index.php/"+_name+"/"+prefix+"_read?flag="+i,formArr,function(data){
										$("#"+tableEID[i]).datagrid('loadData',data);
										i++;
										if(i<len){
											repeatPost();
										}
									});
								};
							repeatPost();	

方案一的问题在于当一次post请求时,结果:

方案二结果:

方案一是有问题的,当一次post请求成功时,回调函数的执行时间不会去影响下次post的执行,所以必须采用方案二,才能保持多次post的顺序执行,一次回调函数执行完之后才执行下一个。

你可能感兴趣的:(ajax请求时遇到的问题)