AJAX
一.简介
概念:
Ajax a:asynchronous 异步 j: javascript a :and x:xml
不是一种新的编程语言,而是一种用于创建更好更快以及交互更强的web应用程序的技术 基于javascript xml html css 的新用法
一般是返回文本,返回xml也可以(需要解析)
同步交互:
只发送一个请求,需要等待返回,才能发送下一个 通常 同步传输是以数据块为传输单位的
异步交互:
发送一个请求,不需要等待返回,随时可以在发送一个 通常 异步传输是以字符为传输单位
区别:
同步需要等待 异步不需要等待
同步:提交请求—>等待服务器处理—>处理完毕返回
异步:请求通过事件触发—>服务器处理(浏览器可以做别的事)—>处理完成
Ajax:是与服务器交互数据并更新部分网页技术,刷新网页局部技术,可以是网页实现以不刷新 这意味着 在不重新加载整个网页的情况下,对网页的某部分内容更新
传统网页 如需更新,需重新加载整个网页
核心对象:XMLHttpRequest 提供了异步发送请求的能力
二.请求
如需将请求发送到服务器,使用XMLHttpRequest对象的open()和send()方法
Open(method,url,async);
请求方式(大写) 服务器地址 是否异步Send(String);
将请求发送到服务器
当请求的post时,并需要携带数据
(1)使用setRequestHeader()来添加http头SetRequestHeader(“content-type”,”application/x-www-form-urlencoded”);
(2)使用send(string) string 就是要发送的数据
三.响应
如需获得来自服务器的响应 请使用XMLHttpRequest 的responseText 和
responseXml属性responseText
获得字符串形式的响应数据responseXml
获得xml形式的响应数据
Ajax onreadystatechange 事件
当请求被发送到服务端,我们需要执行一些基于响应的任务 每当readystate改变是。会触发onreadystatechange事件 readystate 属性存储XmlHttpRequest 的状态信息
XmlHttpRequest 对象的三个重要属性
(1)
Onreadystatechange
存储函数,每当readystate发生改变时就会调用这个函数
(2)Readystate
存储XmlHttpRequest的状态从0~4
0 请求未初始化
1 服务器连接已建立
2 请求已接收
3 请求处理中
4 请求已完成 响应已就绪
(3)Status
200 :ok 404 :未找到页面
JSON
一.JSON简介
JSON (javascript object notation)是一种轻量级的数据交换格式
xml解析:sax dom dom4j
JSON是存储文本信息的语法 类似于XML
JSON 比 XML 更小 更快 更易解析
JSON数据作为目前网络主流的数据传输格式之一 应用十分广泛
JSON使用javascript语法来表述对象 但是JSON是独立于语言和平台的
JSON解析器 和 JSON库支持许多不同的编程语言
二、JSON 与 XML 的异同?
不同点:
1.JSON没有结束标签
2.更短
3.读写的速度更快
4.更够使用内建的javascript eval()方法进行解析
5.使用数组
6.不能用保留字
相同点:
1.JSON是纯文本
2.JSON具有可读性
3.JSON可以通过AJAX进行传输
三.JSON语法
JSON语法规则
数据 在名/值 对中存储
数据有逗号分隔
大括号{}保存对象
中括号[]保存数组
JSON的数据书写格式:
名称:值
“name”:”张三”—>name=”张三”
JSON值
数字(整型 或者 浮点型)
字符串(双引号中)
逻辑值(true/false)
数组([]括号中的)
对象({}括号中的)
null
对象的存储格式:
String json = “{name:’张三’,age:23,gender:’男’}”;
数组的存储格式
String json = “[‘北京’,’上海’,’广州’]”
数组中存储对象
[
{name:”张三”,age:23},
{name:”李四”,age:23},
{name:”王五”,age:23}
]
四.JSON解析
JSON解析
1.导入jar包
2.使用
解析json 从json格式字符串 到对象
JSONObject getJSONObject()
JSONArray getJSONArray()
生成json
GSON解析
1.导入jar包
2.使用
解析 fromJson()
生成 toJson()
FASTJSON解析
1.导入jar包
2.使用
解析 parseObject parseArray
生成 toJSONString