ajax获得多个json,jQuery:多个AJAX/JSON请求对应单个回调

原文链接:jQuery: Multiple AJAX and JSON Requests, One Callback

原文日期: 2014年4月15日

翻译日期: 2014年4月22日

翻译人员: 铁锚

我在为  Mozilla Developer Network(Mozilla开发者社区) 写代码时需要加载的一个普通的的脚本文件,以及一个JSON流。 因为我们使用jQuery,这意味着需要调用

jQuery.getScript 和 jQuery.getJSON 函数。 我知道这些函数都是异步执行(asyncronously)并且会延迟一段时间返回,所以我想知道是否有一种方式,使我可以使用单个回调,并行地加载它们,就像JS加载器

curljs 所做的那样。 很幸运! 通过jQuery.when, 我可以并发地加载两个请求,只执行一次回调!

jQuery 脚本

正如我提到的,下面是加载脚本和一个JSON资源的用例:

$.when(

$.getScript('/media/js/wiki-min.js?build=21eb633'),

$.getJSON('https://developer.mozilla.org/en-US/demos/feeds/json/featured/')

).then(function(a, b) { // 或者也可以使用 ".done"

// Yay, 加载完成,此处我们可以执行一些依赖操作。。。

});

当资源加载完成, 指定的 done 或者

then 回调会触发,因此可以知道请求已经完成。 每个请求返回的回调参数对象类型不同,因此上述请求可能返回如下信息:

// 格式: [response, state, jqxhr], [response, state, jqxhr]

["(function(c){var e=c(".from-search-navigate");if(e…;if(j){g.apply(m,l)}}}})(window,document,jQuery);", "success", Object]

[Array[15], "success", Object]

如果还需要增加一个传统的AJAX XHR请求,比如说一个小部件模板,我们可以这样做:

$.when(

$.getScript('/media/js/wiki-min.js?build=21eb633'),

$.getJSON('https://developer.mozilla.org/en-US/demos/feeds/json/featured/'),

$.get('/')

).then(function(a, b, c) {

console.log(a, b, c);

});

Dojo Toolkit很早就有此类功能了,但jQuery也可以这么做我还是相当振奋的。 对于现在的开发,多个不同步且返回先后顺序也不确定的请求共享同一个回调是很自然的需求,所以jQuery绝对是与时俱进的!

jQuery:多个AJAX/JSON请求对应单个回调并行加载

因为我们使用jQuery,这意味着需要调用 jQuery.getScript 和 jQuery.getJSON 函数. 我知道这些函数都是异步执行(asyncronously)并且会延迟一段时间返回, ...

jQuery:多个AJAX/JSON请求相应单个回调

原文链接:jQuery: Multiple AJAX and JSON Requests, One Callback 原文日期: 2014年4月15日 翻译日期: 2014年4月22日 翻译人员: 铁 ...

jQuery 发送 ajax json 请求。。

$.extend({ postJson: function (data) { data = data || {} $.ajax({ type: "POST", url: data. ...

玩转Web之Json(二)----jquery easy ui + Ajax +Json+SQL实现前后台数据交互

最近在学Json,在网上也找过一些资料,觉得有点乱,在这里,我以easy ui的登录界面为例来说一下怎样用Json实现前后台的数据交互 使用Json,首先需要导入一些jar包,这些资源可以在网上下载到 ...

jQuery 封装的ajax

jquery封装的ajax 具体操作: $.get(url  [,data]  [,fn回调函数]   [, dataType]); data:给服务器传递的数据,请求字符串 .json对象 都可以设 ...

jquery的ajax异步请求接收返回json数据

http://www.jb51.net/article/51122.htm jquery的ajax异步请求接收返回json数据方法设置简单,一个是服务器处理程序是返回json数据,另一种就是ajax发 ...

jQuery中的Ajax几种请求方法

在网上查的几种Ajax的请求的方法: jQuery 确实是一个挺好的轻量级的JS框架,能帮助我们快速的开发JS应用,并在一定程度上改变了我们写JavaScript代码的习惯.废话少说,直接进入正题,我 ...

jquery Ajax异步请求之session

写了一个脚本,如下: $(function () { $("#btnVcode").click(function () { var receiveMobile = $(" ...

jQuery中的Ajax几种请求方式

1. load( url, [data], [callback] ) :载入远程 HTML 文件代码并插入至 DOM 中. url (String) : 请求的HTML页的URL地址. data (M ...

随机推荐

Web前端MVC框架

MVC: 模型层(model).视图层(view).控制层(controller) Model:即数据模型,用来包装和应用程序的业务逻辑相关的数据或者对数据进行处理,模型可以直接访问数据. View: ...

iOS 类的判断方法

-(BOOL) isKindOfClass: classObj 用来判断是否是某个类或其子类的实例 -(BOOL) isMemberOfClass: classObj 用来判断是否是某个类的实例 -( ...

Linux基础-常用命令

常用的压缩命令 一.tar 1.压缩:tar zcvf [压缩包名].tar.gz [待压缩的文件名 ... ] 2.解压缩:tar zxvf [压缩包名].tar.gz -C [指定的解压目录] 3 ...

【原创】Django-ORM基础

概述 1.什么是ORM? ORM,即Object-Relational Mapping(对象关系映射),它的作用是在关系型数据库和业务实体对象之间作一个映射,这样,我们在具体的操作业务对象的时候,就不 ...

bzoj3926: [Zjoi2015]诸神眷顾的幻想乡

#include #include #include #include #i ...

Iframe跨域_ASP.NET

1.描述: A系统 需要 调用 B系统的页面,被调用的B系统的页面b.html内部嵌套了iframe框架c.aspx地址页 2.问题呈现: ie浏览器下 Chrome浏览器下 追踪 3.问题原因: X ...

jpeg和gif已经影响互联网发展进程了,他们应该被历史淘汰了!!!

本人发现.传统的图片格式已经不适应互联网时代了!!!,故本人发起定义一种新的图片格式.后缀名为 .gnet 互联网上的图片大多有这几种来源.微博上传,视频截图,网络编辑人上传等,以眼下的技术.这些图片 ...

java--方法和成员的继承,访问

//在调用方法的时候,不是看句柄是哪一个类,而应该看对象是属于哪一个类的,属于哪一个类的,就调用哪一个类的成员和方法. //子类可以添加自己的新方法,但是子类对象的引用赋值给父类句柄之后,不能使用父类 ...

Codeforces 708A Letters Cyclic Shift

A. Letters Cyclic Shift time limit per test:1 second memory limit per test:256 megabytes input:stand ...

iOS学习——UITableViewCell两种重用方法的区别

今天在开发过程中用到了UITableView,在对cell进行设置的时候,我发现对UITableViewCell的重用设置的方法有如下两种,刚开始我也不太清楚这两种之间有什么区别.直到我在使用方法二进 ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值