Ajax and JSON
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>