php异步和同步的区别,用Ajax实现同步和异步有什么区别

本文详细介绍了如何使用Ajax实现同步和异步请求,重点讲解了同步和异步的区别以及在实际操作中应注意的事项。通过案例展示了将回调函数用于确保数据返回后执行的策略,以及通过设置`async: false`实现局部同步的方法。同时提醒了全局同步的潜在风险,并提供了最佳实践建议。
摘要由CSDN通过智能技术生成

这次给大家带来用Ajax实现同步和异步有什么区别,用Ajax实现同步和异步的注意事项有哪些,下面就是实战案例,一起来看一下。

通过ajax向后台发送和接收数据时,常常会出现同步异步问题。由于ajax是默认异步加载的,但有时候需要同步或者同步的效果,有以下两种解决方案。

方案一:将某些方法放在回调函数中执行,即,等到从后台返回成功后再执行。

例:$.getJSON("/data-access/sens-config/IPandPortSel",{},function(resp){

if(resp.code==0){

$.each(resp.data,function(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();后面)会存在数据还没从后台返回,就已经执行到红色部分代码了。

方法二:利用标准ajax传递方式$.ajax({

type : "post",

url : "/data-access/manufacturer/deleteBranch",

data : data,

async : false,//取消异步

success : function(resp){

if(resp.code==0){

if(ids.length>=currentListNum&&currentPage!=1){

currentPage = currentPage - 1;

}

var para = {

mypara :currentPage,

startPage : currentPage,

};

$('p.page-box').data('myPage').setOptions({data: para});

}

}

});

注意:这种方式只是局部的同步传输方式,不会对其他传输造成影响,是比较安全和推荐的一种

方式。

还存在另外一种方式:// $.ajaxSettings.async = false;

// $.getJSON("/data-access/ip-config/deleteBranch",data,function(resp){

// if(resp.code==0){

// if(ids.length>=currentListNum&&currentPage!=1){

// currentPage = currentPage - 1;

// }

// var para = {

// mypara :currentPage,

// startPage : currentPage,

// };

// $('p.page-box').data('myPage').setOptions({data: para});

// }

// });

// $.ajaxSettings.async = true;

这种方式是全局的,不是很推荐使用,因为会对其他ajax传输造成影响。

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值