问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

一个页面多个ajax请求延时问题

发布网友 发布时间:2022-04-23 06:41

我来回答

2个回答

懂视网 时间:2022-04-23 11:03

这次给大家带来多个AJAX如何一起请求等待,多个AJAX一起请求等待的注意事项有哪些,下面就是实战案例,一起来看一下。

下面小编就为大家分享一篇利用JQUERY实现多个AJAX请求等待的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

前言通常,jQuery的函数ajax进行Ajax调用。函数ajax只能做一个Ajax调用。当Ajax调用成功时,执行回调函数。可选地,当Ajax调用返回错误时,调用另一个回调函数。

但是,该功能不能根据这些请求的结果进行多个Ajax请求和注册回调函数。

一种情况是,网页使多个Ajax请求在禁用用户交互时收集页面不同部分的数据。

该页面仅在页面获取所有数据之后才能进行用户交互。本文介绍了jQuery提供的一种基于多个Ajax请求来注册回调函数的方法。

这种方法是基于Deferred对象的概念。相关代码首先,在后台的两个ASP.NET Web API函数来接受服务器Ajax调用。

代码如下:

利用jQuery实现多个ajax请求等待

后台接收

ajax请求代码

要进行单个Ajax调用,可以使用jQuery的ajax函数。正面是一个简单的例子:

利用jQuery实现多个ajax请求等待

ajax调用示例成功和错误的回调函数正在等待单个Ajax调用。jQuery库提供了一种方法来使任何回调函数等待多个Ajax调用。此方法基于称为Deferred的对象。Deferred对象可以根据Deferrred对象是否解决或拒绝来注册回调函数。

以下是Deferred的示例

利用jQuery实现多个ajax请求等待

Deferred示例注意Deferred对象可以链接。以下是Deferred对象链的示例。

利用jQuery实现多个ajax请求等待

Deferred对象有一个方法叫做promise。它返回一个Promise对象。Promise对象暴露了Deferred方法的一个子集,以防止其状态被更改。

这意味着防止Deferred对象被手动解析或拒绝。

Promise对象公开以下Deferred方法:then,done,fail,always,pipe,progress,state,和 promise。

它不会公开以下Deferred方法:resolve,reject,notify,resolveWith,rejectWith 和 notifyWith。promise对象可以被视为一个Deferred对象,该对象无法手动更改该状态。

jQuery 的ajax函数返回一个jqXHR对象。

这个jqXHR对象有两个重要的事实。

首先,一个jqXHR对象是XMLHTTPRequest对象的超集。

例如,一个jqXHR对象可以通过引用它的readyState属性来查询XMLHTTPRequest的状态。

如果其readyState为4,则Ajax请求完成。

其次,一个jqXHR对象实现了Promise接口,并公开了所有的Promise方法。

基本上,一个jqXHR 对象可以被当作一个Promise对象。

例如,done方法可以用作jqXHR对象的成功回调函数。

jQuery库提供了一个被称为when的函数,接受多个Deferred对象并返回一个Promise对象的函数。

当所有Deferred对象被解析时,返回的Promise对象将被解析。当任何Deferred对象被拒绝时,它将被拒绝。

传递给函数的Deferred对象when可以是Deferred对象,Promise对象或jqXHR对象。

以下是等待多个Ajax请求的代码示例

利用jQuery实现多个ajax请求等待

首先,两个变量存储从两个jQuery Ajax调用返回的jqXHR对象。

然后将两个对象传递给函数when。返回的Promise对象when被链接到函数then。

函数then为Promise对象添加了处理程序。

then函数的第一个参数是一个成功函数,当Promise成功时调用它。

then函数的第二个参数是在Promise被拒绝时调用的失败函数。

失败函数检查每个Ajax调用的状态。如果Ajax调用未完成,它将中止。注意,由于页面已执行和关闭,失败函数仍然可以访问超出范围的变量j1和j2 。

这是因为JavaScript关闭。闭包是内部函数,即使外部函数关闭,也可以访问外部函数中的变量。换句话说,内部函数可以保持首先定义的环境。

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

推荐阅读:

jQuery EasyUI 折叠面板的使用

jQuery EasyUI选项卡面板的tabs使用

jQuery向动态列表添加新元素

图片查看插件Magnify使用详解

热心网友 时间:2022-04-23 08:11

你可以再前台设置延时循环判断执行第二个AJAX请求.在第一个请求完成后.在执行第二个.
总之就是在第一个请求没有完成,不要执行第二个. JS 定时器
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...换手机号显示你以设置拒收微信登陆.换绑.注册短信怎么解决? 伊拉克战争是哪些国家发动的?请快回答,我有急用! 二零零三年三月谁发动了对伊拉克的战争 西门子、美的、容声三个门的冰箱那个牌子又省电又实用? 海尔冰箱BCD-206 SCFM 放3档工作多长时间 ,停多长时间正常 海尔BCD-206SCFM基本参数 6年级上册数学练习册百分数50到53页答案 小学数学六年级(上):帮你学数学口算练习册2008年印刷版信息 小学数学六年级(上):帮你学数学口算练习册2010年印刷版信息 小学六年级数学上册百分数练习册《课堂作业本》答案64面第2题 调音器长笛调多少hz? 笛子的校音器长什么样?笛子该怎么校音呢? 笛子校音器夹在那里 一方砖有多少块? 形容词改副词哪些要去点什么哪些直接加ly。 两个手机在无人动的时候给双方互相打电话是怎么回事? 怎么在没手机时,用电脑打电话?详情看问题补充,不要没看就回答。 没有手机如何打电话 有没有方法可以使得前一个ajax请求没有处理完毕前,下一个ajax请求先等待? 输液瓶属于什么垃圾、用过的青霉素空瓶属于什么垃圾 油墨空瓶属于什么垃圾 假睫毛胶水是什么垃圾 502胶水是什么垃圾分类 工业胶水是什么垃圾 说一说100的各个数位上的数表示什么意思 到华硕客服清洗一下风扇需要多少时间?多少钱? 清洗笔记本风扇价格 三清玉帝司会是什么意思? 八仙中,有七位神仙称“天尊”,而佛祖只称“世尊”,佛教真的不如道教吗? 中国传统神话中玉帝是天界最高的官吗? 共享单车公司有哪些 竹笛调音器多少赫兹 关于长笛校音器(调音器)的问题 淮安共享单车有几种 初学者学笛子,有没有必要买调音器? 初学者如何判断吹的音准不准? consequence的用法 as a result 和 as a consequence有什么区别 consequence consequent区别 so, as thus, as a consequence可以互换吗? 表示因果关系的连词、副词、介词短语各有哪些? 这句该怎么翻译啊? 关于六级的英语写作 It is better for you to be _____ about its consequences before you take any action. A. positive B. 《陪你一起好好吃饭》到底是一部美食题材剧还是职场题材剧? 《陪你一起好好吃饭》热播中,大家觉得剧中的哪对CP最好磕呢? 向个人借款45000元,3个月,一次性还款的话利息怎么算? 客如云收银机如何安装第三方软件 客如云收银机怎么下载qq音乐 谆佑文化传媒有限公司抖音点赞靠谱么 河南全民抖商网络科技有限公司怎么样?