首先可以总结一下when的作用:
使用jQuery中的when实现多个AJAX请求对应单个回调
jQuery.when(deferreds)
参数deferreds,一个或多个延时对象或JS对象,我们初略的认为它就是一个或多个异步请求。
例如:
- $.when($.ajax("page1.php"), $.ajax("page2.php"))
when()函数常常和done()函数、fail()函数、then()函数联合使用:
done(Function func) - 当deferreds中的处理都完成的时候执行Function回调函数
fail(Function func) - 当deferreds中有一个处理失败的时候执行Function回调函数
then(Function func1,Function func2)- 结合了done和fail函数,当都成功执行func1,当有一个失败执行func2
Example:
- var whenResult = $.when($.ajax("page1.php"), $.ajax("page2.php"));
- whenResult.done(function(a1,a2){
- //函数内容略
- //a1和a2俩参数是when函数中两个ajax请求的相关jqXHR对象
- });
- whenResult.fail(function(){
- //函数内容略
- })
- whenResult.then(successFunc,failureFunc);
相关推荐
对于$.ajax请求来说,如果层级比较多,程序看起来会比较乱,而为了解决这种问题,才有了$when…done…fail…then的封装,它将$.ajax这嵌套结构转成了顺序平行的结果,向下面的$.ajax写法,看起来很乱 $.ajax({ url...
2. .promise() 和 $.when():加强了异步编程的支持,.promise() 返回一个表示特定jQuery对象的Promise对象,$.when() 则用于合并多个Promise对象,当所有Promise都完成时执行回调。 3. .data() 的改进:增强了数据...
- **The jQuery Wrapper:** When you use JQuery to select or create elements, you receive a wrapper object that contains all the matched DOM elements. This wrapper provides a consistent interface for ...
1.7版本对AJAX进行了优化,增加了`$.ajaxSetup()`用于全局配置选项,`$.when()`用于处理多个并发请求。 六、插件生态 jQuery拥有庞大的插件生态系统,1.7版本同样兼容了许多优秀的第三方插件,如Bootstrap、jQuery...
《jQuery 1.5, 1.6, 1.7 深度解析与实践指南》 jQuery,作为一款广泛应用于Web开发的JavaScript库,以其简洁的API和强大的功能深受开发者喜爱。本文将深入探讨jQuery 1.5、1.6及1.7这三个重要版本中的关键特性、...
6. **延迟加载和按需加载**:对于大型应用,为了提高性能,可以使用`jQuery.when()`或`$.Deferred()`进行异步加载,或者使用懒加载策略只在需要时加载特定的JQuery插件。 7. **JQuery版本选择**:JQuery有多个版本...
Use selectors in a variety of ways to get anything you want from a page when you need it Master events to bring your web pages to life Add flair to your actions with a variety of different animation ...
- **动画队列**: `queue()`和`.dequeue()`控制动画的执行顺序,`$.when()`和`.promise()`处理异步动画的同步问题。 5. **jQuery中文入门教程** - 该教程可能涵盖了JQuery的基本语法、选择器、DOM操作、事件处理、...
2. `$.when()`方法:新增`$.when()`方法,用于管理多个并发的异步操作,当所有操作完成后执行回调。 四、jQuery 1.6:属性处理与选择器引擎 1. `.attr()`和`.prop()`区分:将属性操作分为`.attr()`和`.prop()`两个...
jQuery 是一个著名的 JavaScript 库,由 John Resig 在2006年初创建,它极大地简化了DOM操作和Ajax交互,适合新手和经验丰富的开发者。jQuery 的核心理念是使代码更加简洁、可读和可重用,减少开发者的重复劳动。 ...
- **动画组合**:`.promise()` 和 `.when()` 可以将多个动画组合同步执行。 ### 1.4 Ajax交互 - **发送Ajax请求**:`.ajax()` 是核心方法,支持GET和POST等HTTP方法。 - **简单调用**:`.load()`, `.get()`, `.post...
Chapter 12 When jQuery is not enough... plugins to the rescue! Chapter 13 Avoiding the callback hell with Deferred Chapter 14 Unit testing with QUnit Chapter 15 How jQuery fits into large projects ...
Implements automatic *Cross Origin Resource Sharing* support using the `XDomainRequest` object for IE8 and IE9 when using the [$.ajax](http://api.jquery.com/jQuery.ajax/) function in jQuery 1.5+. ...
jQuery UI Cookbook(2013.7) Adam ...Explore coding conventions that work best when writing jQuery UI code Learn about unique perspectives on approaches to widget development – maintainability matters
// do stuff when DOM is ready }); ``` 这个代码使用了 jQuery 库来处理 HTML 文档的 DOM。ready 事件是在 HTML 文档加载完成后触发的事件。在这个事件中,我们可以编写代码来处理 HTML 文档的 DOM。 现在,让...
2. **$.when()** 改进:这个函数现在可以接受多个Promise对象作为参数,当所有Promise都完成时,会触发指定的回调函数。 3. **$.each()** 优化:在处理大型数组时,$.each()的性能有所提升,这对于处理大量数据的...
Highlight GridView Rows when Checkbox is checked using jQuery Highlight Negative value columns in ASP.NET GridView using jQuery Searching and Filtering Related How to loop through all grid ...
10. **UI优化**:使用`$.Deferred()`和`$.when()`处理异步操作,可以确保多个请求按顺序执行或并行执行,提升用户体验。 通过上述方法,我们可以构建一个动态、交互性强的客户管理界面。jQuery的强大功能使得开发...
def.when(deferreds)1.5+ Traversing Filtering $.eq( index ) $.first( ) $.last( ) $.has( selector ), .has( element ) $.filter( selector ), .filter( fn(index) ) bool.is( selector ) $.map( fn(index, ...