`

How to use the data retrieved from ajax?

 
阅读更多

Whenever you want to use the data retrieved from ajax, you must use it in the callback function which is triggered when the ajax call receives the response.  This is a common practice.

 

But if the ajax call to retrieve data resides in a common function, it would be a little more complicated. Below I give an example to explain this.

 

function DataUtil(callBack) {
	var me = this;
	$.ajax({
		url : "../json/test.json",
		success : function(data) {
			me.data = $.parseJSON(data);
			callBack(me);
		}
	});

	// can only be used in the callBack
	me.getName = function() {
		return me.data.name;
	};

	// can only be used in the callBack
	me.getDescription = function() {
		return me.data.description;
	};
}

function displayRetrievedData() {
	var dataRetrieved = {};
	var callBack = function(dataUtil) {
		dataRetrieved.name = dataUtil.getName();
		dataRetrieved.description = dataUtil.getDescription();
		console.log("in the call back:");
		console.log(dataRetrieved);// gets the correct data from the json
	};
	DataUtil(callBack);
	console.log("out the call back:");
	console.log(dataRetrieved);// not sure it gets the data from the json. It
								// depends the ajax call speed
}

function canNotGetCorrectData() {
	var dataRetrieved = {};
	var dataUtil = new DataUtil(function() {
	});
	dataRetrieved.name = dataUtil.getName();// not sure the data is ready
	dataRetrieved.description = dataUtil.getDescription();// not sure the data is ready
	console.log("Can not get the data:");
	console.log(dataRetrieved);
}

displayRetrievedData();
canNotGetCorrectData();
 

 

 

分享到:
评论

相关推荐

    SSD7 选择题。Multiple-Choice

    (a) filling in skeleton tables of the database with examples of what is to be retrieved (b) placing SQL keywords, such as select, under the column names they want to retrieve (c) typing a ...

    微软内部资料-SQL性能优化5

    When the index is traversed to the leaf level, the data itself has been retrieved, not simply pointed to. Uniqueness Is Maintained In Key Values In SQL Server 2000, all clustered indexes are unique. ...

    Java邮件开发Fundamentals of the JavaMail API

    protocols will help you understand how to use the JavaMail API. While the API is designed to be protocol agnostic, you can't overcome the limitations of the underlying protocols. If a capability isn...

    数位板压力测试

    • The user should be able to control how applications use the tablet. The user interface must be ef-ficient, consistent, and customizable. 2 DESIGN GOALS While the tablet interface design must ...

    计算机网络第六版答案

    First, the content provider has more control over the user experience, since it has to use few intermediary ISPs. Second, it can save money by sending less traffic into provider networks. Third, if ...

    SAS.9.2.SQL.Procedure.Users.Guide

    The basic structure of a SELECT statement includes specifying the columns to be retrieved and the table from which to retrieve them. **Selecting Columns in a Table** To select specific columns from ...

    The Essential Guide to HTML5

    time communication, and the local storage API enables data such as high scores or game preferences to be kept on a user’s computer to be retrieved next time they play your game. All of these features...

    DIContainers v5.7.0 D7-XE10.1 容器

    The structure determines how quickly items can be added, manipulated and retrieved from the container. Using different item handlers, the same structure can provide for quite different containers ...

    SQL Server Execution Plans Second Edition

    • How the data is being retrieved, and joined, from the tables defined in your query. • How aggregations in GROUP BY queries are put together. • The anticipated load, and the estimated cost, that ...

    DIContainers 5.5.0 Source Code

    The structure determines how quickly items can be added, manipulated and retrieved from the container. Using different item handlers, the same structure can provide for quite different containers ...

    google repo工具

    In the first column, an uppercase letter indicates how the staging area differs from the last committed state. letter meaning description - no change same in HEAD and index A added not in HEAD, in ...

    微软内部资料-SQL性能优化2

    Before we look at how SQL Server uses and manages its memory, we need to ensure a full understanding of the more common memory related terms. The following definitions will help you understand how SQL...

    IconMap Based Visualization of Alteration Mineral Information Retrieved from Remotely Sensed Data

    用IconMap方法可视化分析从遥感数据提取的蚀变矿物信息,张显峰,麦克派日拉,约束能量最小法(CEM)的亚像元分析算法首先用来从ASTER地面反射率影像数据提取美国加州巧克力山地区的重要蚀变矿物信息。...

    The Essential Guide to HTML5.pdf

    time communication, and the local storage API enables data such as high scores or game preferences to be kept on a user's computer to be retrieved next time they play your game. All of these features ...

    Sakemail

    Minor changes to the scanning code for the filename of attachments.1.8.2- Fixed a bug with the filename of attachments (thanks to Taufer Pavel Ing.).- Added the function IsIPAddress from hou yg (the ...

    Sybex - Mastering Visual Basic .NET Transact SQL (VBL).pdf

    ment, which allows you to calculate totals on groups of the rows retrieved from the database. This statement looks and feels very much like the straight SQL statements, yet it’s not part of standard ...

    Amazon

    And here is the layout template used to build the output from the XML document retrieved from Amazon. It is parsed every time a book record is retrieved, so the output rendering is the fastest ...

Global site tag (gtag.js) - Google Analytics