这次我们来看看在Ajax中实现同步和异步有什么不同,以及在Ajax中实现同步和异步的注意事项是什么。 我将介绍实战案例,请一起看。
通过ajax在后台发送和接收数据时,经常会出现同步异步问题。 缺省情况下,ajax异步加载,但由于可能需要同步或同步效果,因此有以下两种解决方案:
方案1 :在回调函数中放入方法并执行。 也就是说,在从后台返回成功后执行。
示例$.get JSON ((/data-access/sens-config/ipandportsel )、)、function )和resp )。
if(resp.code==0) (
$.each(resp.data,function(i ) I,obj ) )。
option_net_type=addoption(obj;
);
$('#edit-addr_id ' ).append(option_net_type );
ADDR_idold=$(edit-addr_id ) ).val ) addr_id );
}
);
红色部分必须在数据正常返回后执行。 if(resp.code==0) )之外时() ),但$.getJSON ); 后)在没有从后台返回数据之前,可能会执行到红色部分的代码。
方法2 )标准ajax传输方式$.Ajax({
类型: ' post ',
URL : ' /数据访问/制造/删除分支',
数据:数据,
async : false,//异步解除
success :函数(resp ) {
if(resp.code==0) (
if (ids.length=currentlistnumcurrentpage!=1) {
currentPage=currentPage - 1;
}
var para={
mypara :currentPage,
开始页面:当前页面,
(;
$(p.page-box ().data )、mypage )、setoptions )、data:para );
}
}
);
注意:该方案是局部同步传输方案,不影响其他传输,是一种安全的推荐方案
方式。
还有一个方法。 //$.ajaxSettings.async=false;
//$.get JSON (/data-access/IP-config/delete branch ',data,function ) {
//if(resp.code==0) {
//if (ids.length=currentlistnumcurrentpage!=1) {
//currentPage=currentPage - 1;
//}
//var para={
//my para :当前页,
//start page :当前页,
//;
//$(p.page-box ).data ) mypage ).setoptions({data:para} );
//}
//;
//$.ajaxSettings.async=true;
这种方式是全局的,不太推荐。 因为这会影响其他ajax传输。
看了这篇文章的事例,我相信你掌握了方法。 更精彩。 请关注php中文网的其他相关文章。
请阅读: