Ajax知识点
- Ajax全称Ansync JavaScript and XML,是一门异步的加载技术,局部刷新
- Ajax的使用分为原生和jquery两种,原生了解就行
- Ajax功能:
异步加载,可以在不重载整个网页的前提下,进行局部刷新
json
// json对象
var obj = {"name":"xiaoge","age":18,"sex":"boy"}
console.log(obj);
console.log(typeof obj)
// 可读可写
console.log(obj.name);
obj.age=20;
console.log(obj);
//json遍历
for (var key in obj){
console.log(key+":"+obj[key])
}
json对象转字符串
// JSON转字符串
var obj1 = JSON.stringify(obj);
console.log(obj1);
console.log(typeof obj1);
字符串转json对象
// 字符串转JSON
var obj2 = JSON.parse(obj1);
console.log(obj2);
console.log(typeof obj2);
前后交互
Ajax
原生Ajax
- 原生的Ajax,仅用于了解,知道Ajax底层是通过XMLHttpRequest对象创造
xhr.setRequestHeader(‘Content-Type’,‘application/x-www-form-urlencoded;charset-UTF-8’);
XMLHttpRequest对象的主要方法:
第一步:创建需要的对象,这里主要用到的是XMLHttpRequest,注意需要考虑不到前期的IE
第二步:连接和发送
第三步:接受
a. void open(String method,String url,Boolen async) 用于创建请求
参数:
method:请求方式(字符串类型),如:POST、GET、DELETE…
url:要请求的地址(字符串类型)
async:是否异步(布尔类型)
b.void send(String body)
用于发送请求
参数:
body:要发送的数据(字符串类型)
c.void setRequestHeader(String header,String value)
用于设置请求头
a.Number readyState 状态值(整数)
详细
0-未初始化,尚未调用open()方法
1-启动,调用了open()方法,为调用send()方法
2-发送,已经调用了send()方法,未接收到响应
3-接收,已经接收到部分响应数据
4-完成,已经接收到全部响应数据
b.Function onreadystatechange
当readyState的值改变时自动触发执行其对应的函数(回调函数)
c.String responseText
服务器返回的数据(字符串类型)
d.XmlDocument responseXML
服务器返回的数据(Xml对象)
e.Number states(200系列的都是正常的)
状态码(整数),如:200、404....
f.String statesText
状态文本(字符串),如:OK、NotFound....
jQuery Ajax
1.导入jQuery
2.基本方法$.get(){}和$.post(){}