CN105159669A - 一种有序处理多个Ajax数据源的方法与系统 - Google Patents
一种有序处理多个Ajax数据源的方法与系统 Download PDFInfo
- Publication number
- CN105159669A CN105159669A CN201510497796.0A CN201510497796A CN105159669A CN 105159669 A CN105159669 A CN 105159669A CN 201510497796 A CN201510497796 A CN 201510497796A CN 105159669 A CN105159669 A CN 105159669A
- Authority
- CN
- China
- Prior art keywords
- data source
- function
- ajax
- data
- nested
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种有序处理多个Ajax数据源的方法与系统,确定要调用的多个Ajax数据源及其调用顺序,将每一个Ajax数据源分别封装成对应的数据源函数,数据源函数定义一个回调函数和一个全局变量,回调函数为数据源函数的参数,在数据源函数被调用时,数据源函数对应的Ajax数据源中的数据复制到全局变量中,从调用顺序的最后一个Ajax数据源开始,将每一个数据源函数作为其前一个数据源函数的参数进行嵌套,得到一个嵌套函数,并运行嵌套函数。运行嵌套函数时,各数据源函数将按顺序进行调用,并在调用时将其对应的Ajax数据源中的数据复制到全局变量中,最后在全局变量中可获得有调用顺序的各Ajax数据源的数据,可以按顺序请求读取到多个Ajax数据源中的数据。
Description
技术领域
本发明涉及网页开发技术领域,特别是涉及一种有序处理多个Ajax数据源的方法及系统。
背景技术
Ajax即“AsynchronousJavascriptAndXML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。近年来,Ajax成了网页开发中关注的主要技术热点,多种多样的Ajax框架发展起来。由于其异步调用,前台页面可以在不刷新的情况下向后台发起请求并得到返回数据的特点,大大减少了用户等待的时间,用户体验好,因而被广泛应用。
但是当我们需要分别调用多个Ajax数据源取到不同的数据时,来由于其异步调用的特点,Ajax会同时发起多个请求,然而返回数据的时间参差不齐,因此无法确定多个请求返回数据的顺序,从而使我们在统一处理返回的多个数据时无法根据实际逻辑顺序,准确处理。
发明内容
有鉴于此,本发明的主要目的在于提供一种有序处理多个Ajax数据源的方法与系统,可以按顺序请求读取到多个Ajax数据源中的数据。
为实现上述目的,本发明提供了一种有序处理多个Ajax数据源的方法,包括:
确定要调用的多个Ajax数据源及其调用顺序;
将每一个所述Ajax数据源分别封装成对应的数据源函数,所述数据源函数定义一个回调函数和一个全局变量,所述回调函数为所述数据源函数的参数,在数据源函数被调用时,所述数据源函数对应的Ajax数据源中的数据复制到所述全局变量中;
从所述调用顺序的最后一个Ajax数据源开始,将每一个数据源函数作为其前一个数据源函数的参数进行嵌套,得到一个嵌套函数;
运行所述嵌套函数。
优选地,运行所述嵌套函数包括:
按所述调用顺序依次调用每一个所述数据源函数,并将所述数据源函数对应的Ajax数据源中的数据依次复制到所述全局变量中。
本发明还提供了一种有序处理多个Ajax数据源的系统,包括确定模块,函数封装模块,嵌套模块和运行模块;
所述确定模块用于确定要调用的多个Ajax数据源及其调用顺序;
所述函数封装模块用于将每一个所述Ajax数据源分别封装成对应的数据源函数,所述数据源函数定义一个回调函数和一个全局变量,所述回调函数为所述数据源函数的参数,在数据源函数被调用时,所述数据源函数对应的Ajax数据源中的数据复制到所述全局变量中;
所述嵌套模块用于从所述调用顺序的最后一个Ajax数据源开始,将每一个数据源函数作为其前一个数据源函数的参数进行嵌套,得到一个嵌套函数;
所述运行模块用于运行所述嵌套函数。
应用本发明提供的一种有序处理多个Ajax数据源的方法与系统,确定要调用的多个Ajax数据源及其调用顺序,将每一个所述Ajax数据源分别封装成对应的数据源函数,所述数据源函数定义一个回调函数和一个全局变量,所述回调函数为所述数据源函数的参数,在数据源函数被调用时,所述数据源函数对应的Ajax数据源中的数据复制到所述全局变量中,从所述调用顺序的最后一个Ajax数据源开始,将每一个数据源函数作为其前一个数据源函数的参数进行嵌套,得到一个嵌套函数,并运行所述嵌套函数。运行嵌套函数时,各数据源函数将按顺序进行调用,并在调用时将其对应的Ajax数据源中的数据复制到全局变量中,最后在全局变量中可获得有调用顺序的各Ajax数据源的数据,可以按顺序请求读取到多个Ajax数据源中的数据。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明一种有序处理多个Ajax数据源的方法实施例一的流程图;
图2为本发明一种有序处理多个Ajax数据源的方法实施例一的调用逻辑图;
图3为本发明一种有序处理多个Ajax数据源的系统实施例二的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一:
本发明提供了一种有序处理多个Ajax数据源的方法,图1示出了本发明有序处理多个Ajax数据源的方法的实施例一流程图,包括:
步骤S101:确定要调用的多个Ajax数据源及其调用顺序;
有N个Ajax数据源要请求读取到,确定其顺序为Ajax1,Ajax2……AjaxN。
步骤S102:将每一个所述Ajax数据源分别封装成对应的数据源函数,所述数据源函数定义一个回调函数和一个全局变量,所述回调函数为所述数据源函数的参数,在数据源函数被调用时,所述数据源函数对应的Ajax数据源中的数据复制到所述全局变量中;
将Ajax1,Ajax2……AjaxN分别封装为对应的数据源函数ajaxFunction1,ajaxFunction2,……ajaxFunctionN,设定一个回调函数callback,将回调函数作为参数,定义一个全局变量dataN,在调用数据源函数时,把对应的Ajax数据源中的数据复制到全局变量dataN中,优选的实现代码如:
步骤S103:从所述调用顺序的最后一个Ajax数据源开始,将每一个数据源函数作为其前一个数据源函数的参数进行嵌套,得到一个嵌套函数;
初次调用时,调用ajaxFunction1,同时将ajaxFunction2作为参数传入ajaxFunction1,再将ajaxFunction3作为参数传入ajaxFunction2,以此类推,优选的实现代码如:
步骤S104:运行所述嵌套函数。
运行所述嵌套函数,按嵌套关系依次调用各数据源函数,在最终的回调函数callback中统一按照相关逻辑处理所有数据源返回的数据,即按所述调用顺序依次调用每一个所述数据源函数,每次调用时,将所述数据源函数对应的Ajax数据源中的数据依次复制到所述全局变量中,调用结束时,所有的Ajax数据源的数据会按顺序存放在最后在全局变量中。
本实施例中的调用逻辑如图2所示。
应用本实施例提供的一种有序处理多个Ajax数据源的方法,确定要调用的多个Ajax数据源及其调用顺序,将每一个所述Ajax数据源分别封装成对应的数据源函数,所述数据源函数定义一个回调函数和一个全局变量,所述回调函数为所述数据源函数的参数,在数据源函数被调用时,所述数据源函数对应的Ajax数据源中的数据复制到所述全局变量中,从所述调用顺序的最后一个Ajax数据源开始,将每一个数据源函数作为其前一个数据源函数的参数进行嵌套,得到一个嵌套函数,并运行所述嵌套函数。运行嵌套函数时,各数据源函数将按顺序进行调用,并在调用时将其对应的Ajax数据源中的数据复制到全局变量中,最后在全局变量中可获得有调用顺序的各Ajax数据源的数据,可以按顺序请求读取到多个Ajax数据源中的数据。
实施例二:
本发明还提供了一种有序处理多个Ajax数据源的系统,图3示出了本发明有序处理多个Ajax数据源的系统实施例二的结构示意图,包括确定模块101,函数封装模块102,嵌套模块103和运行模块104;
所述确定模块101用于确定要调用的多个Ajax数据源及其调用顺序;
所述函数封装模块102用于将每一个所述Ajax数据源分别封装成对应的数据源函数,所述数据源函数定义一个回调函数和一个全局变量,所述回调函数为所述数据源函数的参数,在数据源函数被调用时,所述数据源函数对应的Ajax数据源中的数据复制到所述全局变量中;
所述嵌套模块103用于从所述调用顺序的最后一个Ajax数据源开始,将每一个数据源函数作为其前一个数据源函数的参数进行嵌套,得到一个嵌套函数;
所述运行模块104用于运行所述嵌套函数。
应用本实施例提供的一种有序处理多个Ajax数据源的系统,确定要调用的多个Ajax数据源及其调用顺序,将每一个所述Ajax数据源分别封装成对应的数据源函数,所述数据源函数定义一个回调函数和一个全局变量,所述回调函数为所述数据源函数的参数,在数据源函数被调用时,所述数据源函数对应的Ajax数据源中的数据复制到所述全局变量中,从所述调用顺序的最后一个Ajax数据源开始,将每一个数据源函数作为其前一个数据源函数的参数进行嵌套,得到一个嵌套函数,并运行所述嵌套函数。运行嵌套函数时,各数据源函数将按顺序进行调用,并在调用时将其对应的Ajax数据源中的数据复制到全局变量中,最后在全局变量中可获得有调用顺序的各Ajax数据源的数据,可以按顺序请求读取到多个Ajax数据源中的数据。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于系统类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的方法与系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (3)
1.一种有序处理多个Ajax数据源的方法,其特征在于,包括:
确定要调用的多个Ajax数据源及其调用顺序;
将每一个所述Ajax数据源分别封装成对应的数据源函数,所述数据源函数定义一个回调函数和一个全局变量,所述回调函数为所述数据源函数的参数,在数据源函数被调用时,所述数据源函数对应的Ajax数据源中的数据复制到所述全局变量中;
从所述调用顺序的最后一个Ajax数据源开始,将每一个数据源函数作为其前一个数据源函数的参数进行嵌套,得到一个嵌套函数;
运行所述嵌套函数。
2.根据权利要求1所述的方法,其特征在于,运行所述嵌套函数包括:
按所述调用顺序依次调用每一个所述数据源函数,并将所述数据源函数对应的Ajax数据源中的数据依次复制到所述全局变量中。
3.一种有序处理多个Ajax数据源的系统,其特征在于,包括确定模块,函数封装模块,嵌套模块和运行模块;
所述确定模块用于确定要调用的多个Ajax数据源及其调用顺序;
所述函数封装模块用于将每一个所述Ajax数据源分别封装成对应的数据源函数,所述数据源函数定义一个回调函数和一个全局变量,所述回调函数为所述数据源函数的参数,在数据源函数被调用时,所述数据源函数对应的Ajax数据源中的数据复制到所述全局变量中;
所述嵌套模块用于从所述调用顺序的最后一个Ajax数据源开始,将每一个数据源函数作为其前一个数据源函数的参数进行嵌套,得到一个嵌套函数;
所述运行模块用于运行所述嵌套函数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510497796.0A CN105159669A (zh) | 2015-08-13 | 2015-08-13 | 一种有序处理多个Ajax数据源的方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510497796.0A CN105159669A (zh) | 2015-08-13 | 2015-08-13 | 一种有序处理多个Ajax数据源的方法与系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105159669A true CN105159669A (zh) | 2015-12-16 |
Family
ID=54800536
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510497796.0A Pending CN105159669A (zh) | 2015-08-13 | 2015-08-13 | 一种有序处理多个Ajax数据源的方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105159669A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106201514A (zh) * | 2016-07-11 | 2016-12-07 | 电子科技大学 | 一种基于OpenLayers的WebGIS开发框架的构建及使用方法 |
CN106484459A (zh) * | 2016-09-12 | 2017-03-08 | 合智能科技(深圳)有限公司 | 应用于JavaScript的流程控制方法和装置 |
CN106649470A (zh) * | 2016-09-28 | 2017-05-10 | 郑州云海信息技术有限公司 | 一种保存表格搜索状态的方法 |
CN107515770A (zh) * | 2017-08-30 | 2017-12-26 | 郑州云海信息技术有限公司 | 一种新的回调函数处理方法 |
CN110704545A (zh) * | 2019-09-12 | 2020-01-17 | 上海数禾信息科技有限公司 | 用于数据源供应商的数据调用方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101719093A (zh) * | 2009-12-09 | 2010-06-02 | 上海普元信息技术有限责任公司 | 企业Web应用系统中实现跨浏览器Javascript调试的系统及其方法 |
CN102221997A (zh) * | 2011-05-30 | 2011-10-19 | 何吴迪 | 一种云计算视窗平台的应用视框价值计算方法 |
CN102306102A (zh) * | 2011-08-25 | 2012-01-04 | 中兴通讯股份有限公司 | 程序文件自动生成方法及装置 |
-
2015
- 2015-08-13 CN CN201510497796.0A patent/CN105159669A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101719093A (zh) * | 2009-12-09 | 2010-06-02 | 上海普元信息技术有限责任公司 | 企业Web应用系统中实现跨浏览器Javascript调试的系统及其方法 |
CN102221997A (zh) * | 2011-05-30 | 2011-10-19 | 何吴迪 | 一种云计算视窗平台的应用视框价值计算方法 |
CN102306102A (zh) * | 2011-08-25 | 2012-01-04 | 中兴通讯股份有限公司 | 程序文件自动生成方法及装置 |
Non-Patent Citations (3)
Title |
---|
IT小兵: ""Jquery $.ajax请求详解及ajax全局变量分析"", 《HTTP://WWW.SUCHSO.COM/PROJECTEACTUAL/JQUERY-AJAX-GLOBAL-VARIABLE-SEND-START-COMPLETE-ERROR-SUCCESS.HTML》 * |
PECLIU: ""如何按照顺序执行异步ajax的回调函数"", 《HTTPS://BLOG.CSDN.NET/PAINERCH/ARTICLE/DETAILS/47450349》 * |
流年莫逝: ""Ajax回调数据赋值给变量的问题"", 《HTTP://WWW.CNBLOGS.COM/LIUNIANMOSHI/ARTICLES/2998965.HTML》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106201514A (zh) * | 2016-07-11 | 2016-12-07 | 电子科技大学 | 一种基于OpenLayers的WebGIS开发框架的构建及使用方法 |
CN106201514B (zh) * | 2016-07-11 | 2019-10-01 | 电子科技大学 | 一种基于OpenLayers的WebGIS开发框架的构建及使用方法 |
CN106484459A (zh) * | 2016-09-12 | 2017-03-08 | 合智能科技(深圳)有限公司 | 应用于JavaScript的流程控制方法和装置 |
CN106649470A (zh) * | 2016-09-28 | 2017-05-10 | 郑州云海信息技术有限公司 | 一种保存表格搜索状态的方法 |
CN107515770A (zh) * | 2017-08-30 | 2017-12-26 | 郑州云海信息技术有限公司 | 一种新的回调函数处理方法 |
CN110704545A (zh) * | 2019-09-12 | 2020-01-17 | 上海数禾信息科技有限公司 | 用于数据源供应商的数据调用方法及装置 |
CN110704545B (zh) * | 2019-09-12 | 2022-06-07 | 上海数禾信息科技有限公司 | 用于数据源供应商的数据调用方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105159669A (zh) | 一种有序处理多个Ajax数据源的方法与系统 | |
CN103714129B (zh) | 基于条件规则的动态数据结构和关系的构建装置和构建方法 | |
CN104216961B (zh) | 一种数据处理方法和装置 | |
CN103870455A (zh) | 一种多数据源的数据集成处理方法和装置 | |
CN105550268A (zh) | 大数据流程建模分析引擎 | |
CN109086126B (zh) | 任务调度处理方法、装置、服务器、客户端及电子设备 | |
CN107220376B (zh) | 一种数据查询方法和装置 | |
CN107515878A (zh) | 一种数据索引的管理方法及装置 | |
WO2015094269A1 (en) | Hybrid flows containing a continuous flow | |
Lam | Dimers, webs, and positroids | |
US11630986B2 (en) | Graph conversion method | |
CN104361190B (zh) | 二次系统中虚端子自动化连接的方法及装置 | |
CN105183911A (zh) | 一种基于数据来源二叉树的电力系统异常数据溯源方法 | |
CN111782675B (zh) | 生成数据库脚本的方法、装置及计算机可读存储介质 | |
CN105405002A (zh) | 基于sap平台的公式数据配置方法及系统 | |
CN105573843A (zh) | 一种数据处理方法和系统 | |
CN104462095A (zh) | 一种查询语句公共部分的提取方法及装置 | |
CN110297843A (zh) | 用于b/s系统的数据查询方法及系统、终端 | |
CN105117468A (zh) | 一种网络数据处理方法和装置 | |
CN110211227A (zh) | 一种三维场景数据处理方法、装置及终端设备 | |
CN115311399A (zh) | 图像渲染方法、装置、电子设备以及存储介质 | |
CN102323966B (zh) | 基于快速分组搜索技术的cad网络拓扑图分析方法 | |
CN109635147B (zh) | 一种顶点的图嵌入向量生成、查询方法和装置 | |
CN106651414A (zh) | 关键词价格设置方法及装置 | |
CN103488715A (zh) | 一种基于全局设置的预解析管理方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20151216 |
|
RJ01 | Rejection of invention patent application after publication |