关于ajax异步请求

将近大半个月的时间终于快要理顺公司的项目,具体涉及到ajax异步请求、图片加载、数据绑定、表单提交。今天就先说一说ajax异步请求。

请求并不难,难的是当请求较多且有关联的时候,初始化成了问题。一般不想等所有的ajax请求结束在初始化,这是很笨的做法。

ps:jequry已经封装好了XMLHttpRequest对象,所以不用写原生js代码进行ajax请求啦。

$.ajax({  
    async:true,  //async属性值为boolean,默认为true表示异步:即不等请求完成即执行func2了,反之false为同步
    type:"POST", 
    url:"Venue.aspx?act=init", 
    dataType:"html", 
    success:function(result){  //function1()
       f1(); 
       f2(); 
     } 
    failure:function (result) {  
      alert('Failed');  
     }, 
 } 
 function2();

以上是一段常规的ajax请求。

jquery中关于ajax有个ajaxStop的方法,表示当完所有ajax请求时,执行函数体。有stop方法当然也有start方法,请自行查阅文档。

$("body").ajaxStop(function(){
    alert("所有 AJAX 请求已完成");//函数体

})

无疑上述方法特别的蠢,容易造成阻塞,甚至当某一ajax请求出错时,导致函数体无法执行。

幸运的是,.ajax中success中的函数f1()、f2()执行顺序是同步的。表示请求完成时顺序执行。因此可以把需要借助请求数据初始化的函数体放在success中。






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值