`

AJAX和JSON的一些理解

 
阅读更多
正在学习JSON和AJAX,记录下自己的理解
AJAX
什么是AJAX,这里指异步JS和XML,异步JS是指客户端的JS可以不必停下来等待服务器的响应,相反该JS继续执行,而XML指的是JS用XML去解析从服务器得到的数据,如
xmlDoc=xmlhttp.responseXML//来自服务器的响应是 XML,而且需要作为 XML 对象进行解析,请使用 responseXML 属性
当然,我们可以使用JSON来解析。
一关于AJAX中的Callback函数的理解
Callback也就是回调函数,我的理解是,我们定义的但是由系统或者是其他函数调用的函数,也就是说是callback 函数是一种以

参数形式传递给另一个函数的函数。

二如何理解AJAX中的异步

javascript不需要等待,JavaScript 会等到服务器响应就绪才继续执行,如果服务器繁忙或缓慢,应用程序会挂起或停止。而异步

我的理解就是,使用事件响应的方式,用一个事件监听器去监听,客户端到服务器端的请求,然后使用响应的函数处理,这个函

数往往完成了显示服务器端数据的功能。比如
<html>
<head>
<script type="text/javascript">
function loadXMLDoc()
{
var xmlhttp;
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","/ajax/demo_get.asp",true);
xmlhttp.send();
}
</script>
</head>
<body>

<h2>AJAX</h2>
<button type="button" onclick="loadXMLDoc()">请求数据</button>
<div id="myDiv"></div>

</body>
</html>

这里onreadystatechange是事件句柄,赋给这个事件句柄的是一个函数,这个函数根据客户端和服务器端之间状态,调用相应的响应函数,并完成显示服务器端传到客户端的数据的显示功能。

JSON

JSON:即javascript对象表示法,我的理解是用javascript的语法去表示对象,这样我们就不需要编译器去解析。我们往往使用var

employees = [
{ "firstName":"Bill" , "lastName":"Gates" },
{ "firstName":"George" , "lastName":"Bush" },
{ "firstName":"Thomas" , "lastName": "Carter" },
{"first":"Frank","last":"Lampard"}

];这样的方式去表达数据,其中[]表示数组,{}表示对象,而用,分隔不同的数据。同时这里的{}就是对象字面量的用法,对象字面量

是一个名值对列表,每个名值对之间用逗号分隔,并用一个大括号括起。各名值对表示对象的一个属性,名和值这两部分之间用

一个冒号分隔。还有数组字面量的用法,它是一个用逗号分隔的值列表。详见
[url]
http://www.cnblogs.com/yxf2011/archive/2012/04/01/2428225.html[/url]

2.
    JSON 文件的文件类型是 ".json"
    JSON 文本的 MIME 类型是 "application/json"
3.JSON,一般在AJAX中使用,我们从服务器端获得XML文档往往都比较大,而且难以解析,而我们使用JSON来表示对象,就减

少了数据在网络中的传输和解析文档需要的时间。

4.由于 JSON 语法是 JavaScript 语法的子集,JavaScript 函数 eval() 可用于将 JSON 文本转换为 JavaScript 对象。
而类似
var obj = eval ("(" + txt + ")");

加上圆括号的目的是迫使eval函数在处理JavaScript代码的时候强制将括号内的表达式(expression)转化为对象,而不是作为语

句(statement)来执行。详见http://www.cnblogs.com/myjavawork/archive/2011/03/10/1979279.html

关于JSON的eval知识,也可以参考http://flare.iteye.com/blog/162878这篇文章,写的挺好

5.另外,一些浏览器也提供了对JSON的原生支持,这是我们就不需要通过eval去解析JSON文本了,比如
var txt = '{"employees":[' +
'{"firstName":"Bill","lastName":"Gates" },' +
'{"firstName":"George","lastName":"Bush" },' +
'{"firstName":"Thomas","lastName":"Carter" }]}';

obj = JSON.parse(txt);
分享到:
评论

相关推荐

    传统Ajax和JqueryAjax操作Json对比案例

    一个传统Ajax和JqueryAjax操纵Json动态显示Web信息的案例,类似于微博中的换一换功能,对于了解Ajax有很好的帮助,也能够开发者对java和Ajax操纵Json有很深入的理解。

    Ajax And Json.emmx

    对ajax和json的知识点记性一个总结,并使其按照一定的架构,构建成一个思维导图,便于之后对于知识点的理解和记忆,同时这样的一个架构也可以适用自己的知识总结。 Ajax是一种在无需重新加载整个网页的情况下,能够...

    ECharts多个图表图动态ajax获取json数据——全网最便捷的调用方式.rar

    最久项目需要使用ECharts,需要多个图表通过ajax动态获取json数据实现各种选择条件的多图表,找了一下网络上的相关文章,发现都比较繁琐(因为在前台操作的太多我是做后台的)所以想出了这样的方式实现,引入的json...

    struts2+easyUI+ajax+json用户登验证

    struts2+easyUI+ajax+json用户登验证,代码没问题,可运行,适合初学者理解原理!

    ECharts多个图表图ajax动态获取json数据——最便捷的调用方式.rar

    ECharts通过ajax动态获取json数据实现各种选择条件的多图表,引入的json文件内的结构具体根据需要随时改动,可以支持任意多的图表实现!关键是理解这种实现思维,其余的实现各种图表就根据这种思想随意发挥即可,...

    SSH+jQuery+json 实现的Ajax操作,绝对精华,代码简练清晰,绝对能看明白

    SSH +jquery+json做的Ajax级联操作 简练清晰 容易理解 完全可以拷贝引用

    JSONF示例,JSON入门案例,JSON

    这是一个简单的JSON用AJAX效果取出PHP文件中JSON数据的实例,对理解JSON技术有很的帮助,对于数据处理和调用非常明了,一看就懂.

    基于$.ajax()方法从服务器获取json数据的几种方式总结

    : :冒号前为键,后为值(这个值可以是基本数据类型的值,也可以是数组或对象),所以 {“age”: 18} 可以理解为是一个包含age为18的json对象,而[{“age”: 18},{“age”: 20}]就表示包含两个对象的json数组。...

    ajax和servlet交互2013-08-01

    此例子里面讲解了ajax请求servlet之后,处理servlet的返回值,包括xml、text文本、json、html页面,例子非常容易懂,而且注释详细,对于理解ajax请求的原理非常有帮助,值得一看。

    Ajax 接收服务器返回的json响应方法

    1、什么是JSON?...我理解的JSON是JS创建对象的一种方法,后来从JS中独立出来,作为一种字符串数据的表示法,被各种语言支持;相对于XML而言,比XML更加轻量级、简洁、处理速度更快; 2、JSON的两种格式: JSON

    深入理解python对json的操作总结

    Json最广泛的应用是作为AJAX中web服务器和客户端的通讯的数据格式。现在也常用于http请求中,所以对json的各种学习,是自然而然的事情。Python的官网网址:...

    Ajax与服务器(JSON)通信实例代码

    主要介绍了Ajax与服务器(JSON)通信实例代码的相关资料,并附实例代码,帮助大家学习理解此部分知识,需要的朋友可以参考下

    jQuery JSON的解析方式分享

    等到问题解决了,也大致明白怎么个意思了,归根结底还是对jquery对相关json对象获取的理解有所偏差。 这里考虑都考虑的是服务器返回的是JSON形式的字符串的形式,对于利用JSONObject等插件封装的JSON对象,与此亦是...

    通过实例解析json与jsonp原理及使用方法

    在ajax中 JSON用来解决数据交换问题,而JSONP来实现跨域。 备注:跨域也可以通过服务器端代理来解决; 理解:JSON是一种数据交换格式,而JSONP是一种依靠开发人员的聪明才智创造出的一种非官方跨域数据交互协议。 2....

    在构建一个Java web项目中。比如我以学生表为例子.对学生表的数据进行增删改查如何进行呀。 在此之前要构建项目运行的环境:采

    在构建一个Java web项目中。比如我以学生表为例子.对学生表的数据进行增删改查如何进行呀。 在此之前要构建项目运行的环境:采用的软件idea+架包+tomcat+三个...在对单张表的增删改查中最难理解是修改因为他步骤有点多

    wdi_8_js_lab_jquery_post:将 Ajax 帖子发送到 JSON API 的 JQuery 客户端

    网络观察和理解 HTTP 请求/回复。 控制台 知道如何登录到控制台。 来源。 使用调试器。 使用 curl 命令创建 HTTP 请求并查看响应。 将安装到 Chrome 中。 启动 Rails JSON 文章 API/服务。 确保在端口 3000 上...

    jqueryajax

    在服务器端 AJAX是一门与语言无关的技术。在业务逻辑层使用何种服务器端语言都可以。 •从服务器端接收数据的时候,那些数据必须以浏览器能够理解的格式来发送。服务器端的编程语言只能以如下3 种格式返回数据: –...

    Ajax-calls-to-load-data-from-json-file

    我已经使用Jquery作为客户端框架,这有助于对服务器进行Ajax调用并将json数据加载到网页。 Node.js具有丰富的库函数集合,可以轻松托管服务器。 使用jQuery对服务器进行Ajax调用是一项棘手的任务,并且花费了一些...

    一步一步学asp.net ajax

    走了好多弯路,不过每一次体验都让人难以忘怀,马上要奔大四了,慢慢的开始总结,以前做过的东西,更多的是重新写以前的项目,以前虽然参加一些项目,但是感觉根本写的都是垃圾,堆砌功能,学校环境下,也能理解,不过,慢慢的...

    浅析JSONP之解决ajax跨域问题

    JSON和JSONP  JSONP和JSON好像啊,他们之间有什么联系吗?  JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。... JSONP就像是JSON+Padding一样(Padding这里我们理解为填充), 我们先

Global site tag (gtag.js) - Google Analytics