国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

利用JQUERY實現多個AJAX請求等待的實例

2024-05-06 15:23:37
字體:
來源:轉載
供稿:網友

前言通常,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對象被拒絕時,它將被拒絕。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 开阳县| 上饶县| 巧家县| 遂川县| 嘉荫县| 新昌县| 昔阳县| 钟祥市| 桦南县| 镇远县| 错那县| 泾川县| 文化| 德清县| 龙陵县| 共和县| 西青区| 长海县| 德昌县| 化州市| 会昌县| 南部县| 大安市| 诏安县| 尤溪县| 搜索| 黔西县| 虞城县| 土默特左旗| 和平县| 汝南县| 石嘴山市| 遂溪县| 黄平县| 大竹县| 汕头市| 玉屏| 武安市| 水富县| 桃源县| 青川县|