JSON
一、语法
三种类型:
- 简单值
- 对象
- 数组
1、简单值
简单值可以是数字、字符串、布尔值、null,但是字符串必须用双引号括起来
2、对象
JSON要求给属性也加上双引号
{
"name":"abc",
"age":"12"
}
JSON中没有变量,没有末尾的分号
3、数组
JSON中可以采用同样的方法表示数组。
如:[25,"hi",true]
JSON中的数组同样没有变量和分号
二、解析与序列化
1、JSON对象
(1)stringify():把JS对象化为JSON字符串
JSON.stringify(Js对象名,null,字符缩进数或任意字符);
(2)parse():把JSON字符串解析为JS值
JSON.parse(JSON变量名);
(3)toJSON():返回自身的JSON格式
Ajax
XMLHttpRequest对象
1、XHR
(1)open(要发出的请求,请求的URL,是否异步发送请求的布尔值);
(2)send(作为主体发送的数据);如果不需要则传入null
2、HTTP头部信息
Accept :浏览器能够处理的内容类型
Accept-Charset:浏览器能显示的字体类型
Accept-Encoding:浏览器能够处理的压缩编码
Accept-Language:浏览器当前设置的语言
Connection:浏览器与服务器之间的链接类型
Cookie:当前页面设置的任何cookie
Host:发出请求的页面所在的域
Referer:发出请求的页面的URL,
User-Agent:浏览器的用户代理字符串
- 每个浏览器都会发送头部信息,使用 setRequestHeader() 方法可以修改头部信息,这个方法接受两个参数:(1)头部字段的名称(2)头部字段的值。
3、GET请求
常用于向服务器查询某些信息。
查询字符串中每个参数的名称都必须用encodeURIComponent()方法进行编码。
- 可以用==addURLParam()==函数来在现有的URL的末尾添加字符串。该函数接受三个参数:要添加参数的URL、参数的名称、参数的值。
4、POST请求
常用于向服务器发送应该被保存的数据。
使用:xhr.open(“post”,ecample.php",true);
然后再用send()方法就行
XMLHttpRequest 2级
1、FormData
var Data = new ForData();
data.append("name","abc");
==append()==接受的分别是键和值。创建FormData实例后,可以直接把它传给send()方法。
2、超时设定
timeout=数值;:表示请求在等待多少毫秒之后就终止,如果在该毫秒内浏览器没有响应,就触发timeout事件。进而会调用ontimeout事件处理程序。
3、overrideMimeType()方法:重写服务器返回的MIME类型
可以把对象当做相应而非纯文本处理。
var xhr=createXHR();
xhr.open("get","text.php",true);
xhr.overrideMimeType("text/xml");
xhr.send(null);
进度事件
1、load事件
只要浏览器接收到服务器的响应,不管什么状态都会触发load事件
2、progress事件
onprogess事件处理程序会接收到一个event对象,其target属性是XHR对象。
包含三个属性:
- lengthComputable:表示进度信息是否可用的布尔值
- position:已经接受的字节数
- totalSize:预期字节数