Ajax (核心是XMLHttpRequest对象)

1、XMLHttpRequest对象:

request=new XMLHttpRequest()  支持Firefox opera Safari  等级别以上的浏览器

xmlhttp=new ActiveXobject('Msxml2.XMLHTTP') 支持IE6+

xmlhttp=new ActiveXobject('Microsoft.XMLHTTP')支持IE6+

2、XMLHttpRequest对象的三大属性:

2.1、onreadystatechange   存储处理服务器的响应的函数

2.2、readyState     存储服务器的响应状态信息

五个值:0:请求未初始化

1:服务器连接已建立

2:请求已发送

3:请求处理中,但是没有响应

4:请求已完成,且响应已就绪

2.3、responseText      获取由服务器返回的数据

3、请求发送服务器的方法

1、open()

参数:GET/POST   表明HTTP方法

URL            规定服务器端脚本路径

true/false    是否异步请求

2、send()    将请求发送到服务器端

例:

request.open("GET","test.txt",true);

request.onreadystatechange=functiin(){

if(request.redyState==4){

//从服务器获取数据的代码,并做相应处理

alert(request.responseText);

}

}

request.send(null);

JSON

1、语法法则:

1.1、数组(Array)用方括号(“[]”)表示。

1.2、 对象(Object)用大括号(”{}”)表示。 -

1.3、名称/值对(name/value)组合成数组和对象。

1.4、名称(name)置于双引号中,值(value)有字符串、数值、布尔值、null、对象和数组。 -

1.5、并列的数据之间用逗号(“,”)分隔

例:{

"name": "Geoff Lui",  "age": 26

}

2、JSON 和 XML

JSON 常被拿来与 XML 做比较,因为 JSON 的诞生本来就多多少少要有取代 XML 的意思。相比 XML,JSON 的优势如下:

2.1、没有结束标签,长度更短,读写更快

2.2、能够直接被 JavaScript 解释器解析

2.3、可以使用数组

例:

JSON:

{

"name": "Geoff Lui",  "age": 26,  "friends": ["Lily", "Lucy", "Gwen"]

}

XML:

<root>

  <name>Geoff Lui</name>

  <age>26</age>

  <friends>Lily</friends>

  <friends>Lucy</friends>

  <friends>Gwen</friends>

</root>

3、 JSON 解析和生成

在 JavaScript 中,有两个方法与此相关: JSON.parse 和 JSON.stringify 。

例:

<script>

  var str = '{"name": "Geoff Lui","age": 26}';//字符串

  var obj = JSON.parse(str);//传入字符串

  console.log(obj);//输出结果

  var jsonstr = JSON.stringify(obj);//把转换好的对象生成json语法规则的字符串

  console.log(jsonstr);//输出

</script>

Ajax和JSON基础的更多相关文章

  1. 【Java EE 学习 31】【JavaScript基础增强】【Ajax基础】【Json基础】

    一.JavaScript基础增强 1.弹窗 (1)使用window对象的showModelDialog方法和showModelessDialog方法分别可以弹出模式窗口和非模式窗口,但是只能在IE中使 ...

  2. 快速掌握Ajax-Ajax基础实例(Ajax返回Json在Java中的实现)

    (转)实例二:Ajax返回Json在Java中的实现 转自http://www.cnblogs.com/lsnproj/archive/2012/02/09/2341524.html#2995114 ...

  3. Ajax与Json的一些总结

    Ajax与Json AJAX=异步javaScript 和XML AJAX 是一种用于创建快速动态网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新. 这意味着可以在不 ...

  4. JQuery处理json与ajax返回JSON实例

    一.JSON的一些基础知识. JSON中对象通过“{}”来标识,一个“{}”代表一个对象,如{“AreaId”:”123”},对象的值是键值对的形式(key:value). “[]”,标识数组,数组内 ...

  5. [Javascript,JSON] JQuery处理json与ajax返回JSON实例

    转自:http://www.php100.com/html/program/jquery/2013/0905/5912.html [导读] json数据是一种经型的实时数据交互的数据存储方法,使用到最 ...

  6. (转)JSON基础入门

    原文地址:http://kb.cnblogs.com/page/43982/ JSON 基础简单地说,JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松 ...

  7. JSON基础知识总结

    JSON基础 一.JSON简介 JSON,全称“JavaScript Object Notation(JavaScript对象表示法)”,起源于JavaScript的对象和数组.JSON,说白了就是J ...

  8. (转)JQuery处理json与ajax返回JSON实例

    son数据是一种经型的实时数据交互的数据存储方法,使用到最多的应该是ajax与json配合使用了,下面我来给大家介绍jquery处理json数据方法. 一.JSON的一些基础知识. JSON中对象通过 ...

  9. json基础教程|理解Json

    一. 在异步应用程序中发送和接收信息时,可以选择以纯文本和 XML 作为数据格式.这一期讨论一种有用的数据格式 JavaScript Object Notation(JSON),以及如何使用它更轻松地 ...

随机推荐

  1. Java模拟登录系统抓取内容【转载】

    没有看考勤的习惯,导致我的一天班白上了,都是钱啊,系统也不发个邮件通知下....     为了避免以后还有类似状况特别写了个java模拟登录抓取考勤内容的方法(部分代码来自网络),希望有人修改后也可以 ...

  2. 【转】VIM 快速注释

    我是用自己自定义的,跟你分享一下吧.希望能帮到你. 在.vimrc中加入下面的语句:vmap <C-S-P>    dO#endif<Esc>PO#if 0<Esc> ...

  3. Android内存优化解决 资料和总结的经验分享

    在前公司做一个图片处理的应用时, 项目交付的时候,客户的手机在运行应用的时候,一直在崩溃,而这个异常就是OutOfMemory的错误,简称为OOM, 搞得我们也是极其的崩溃,最后 ,我们是通过网上搜集 ...

  4. [Angular-Scaled Web] 8. Using $http to load JSON data

    Using the $http service to make requests to remote servers. categories-model.js: angular.module('egg ...

  5. 【v2.x OGE教程 19】 引擎状态控制

    1.手机button监听 OGE中提供了在BaseGameLauncher(GameLauncher的父类)和IScene(Scene实现的接口)中定义了onKeyUp和onKeyDown的方法.使得 ...

  6. ireport启动闪退问题

    安装好ireport之后,双击ireport.exe启动程序只是掠过启动画面便毫无反应, 后来在网上找了下解决方法,才知道只因为ireport与jdk8不兼容, 于是下载了jdk6,并在ireport ...

  7. maven学习(二)

    为了兼容之前基于ant构建的项目发布包结构,在基于maven做构建的时候,需要自定义打包方式. maven的maven-assembly-plugin插件支持任意格式的打包,比如:dir,zip等形式 ...

  8. vim中光标的前进和后退

    流行的文本编辑器通常都有前进和后退功能,可以在文件中曾经浏览过的位置之间来回移动.在 vim 中使用 Ctrl-O 执行后退,使用 Ctrl-I 执行前进.相关帮助: :help CTRL-O  :h ...

  9. LINQ to Entities 不识别方法“System.String ToString()”,因此该方法无法转换为存储表达式。

    var data = DataSource.Skip(iDisplayStart).Take(iDisplayLength).Select(o => new { MatNR = o.MatNR, ...

  10. windows下使用VirtualEnv

    在开发Python应用程序的时候,有时会开发多个应用程序,那这些应用程序都会共用一个Python.如果应用A需要jinja 2.7,而应用B需要jinja 2.6怎么办?这种情况下,每个应用可能需要各 ...