AJAX学习笔记(慕课网)

一、创建XHR对象(XHR对象支持IE6以上)

var reques;

if(window.XMLHttpRequest){

    request=new XMLHttpRequest();

}else{

    request=new ActiveXObject("Microsoft.XMLHTTP");//支持IE5.6

}

二、HTTP

AJAX学习笔记(慕课网)_第1张图片

AJAX学习笔记(慕课网)_第2张图片

三、XHR发送请求

1.open(method,url,async)

method——GET/POST,标明请求方法

url——请求地址

async——请求默认为异步,设为false时为同步

2.send(string)

string——填写参数,发送请求,一般GET方法为空,POST方法不为空,为信息

e.g.

request.open("POST","creat.php",true);

request.setRequestHeader("Content-type","application/x-www-form-urlencoded");//设置请求头,告诉服务器提交的信息是表单,必须写在open和send的中间

request.send("name=xxx&sex=男");

四、XHR取得响应

1.获取响应值

AJAX学习笔记(慕课网)_第3张图片

2.在响应成功发回的时候获得通知——readyState属性

AJAX学习笔记(慕课网)_第4张图片

通过监听readyState的值获取服务器响应所处状态

var request=new XMLHttpRequest();
request.open("POST","creat.php",true);
request.setRequestHeader("Content-type","application/x-www-form-urlencoded");
request.send("name=xxx&sex=男");
request.onreadystatechange=function(){
if(request.readyState===4&&request.status===200){
//做一些事情,request.responseText
}
}

五、例子

六、JSON

1.json解析和校验

json解析

var josnobj=JSON.parse(josondata);

alert(jsonobj.staff[0].name);

2.JSON校验网址

JSONLint

七、jQuery中的ajax

AJAX学习笔记(慕课网)_第5张图片


八、跨域

js处于安全方面你的考虑,不允许跨域调用其他页面的对象,如a.com域名下的js无法操作b.com域名下的对象

AJAX学习笔记(慕课网)_第6张图片

什么是跨域

1)主域名不同

2)子域名不同

3)端口号不同

4)协议不同

2.处理跨域的方法

1)代理

2)JSONP,利用script标签去申请另一个域名的数据(只支持GET请求)

3)XHR2

AJAX学习笔记(慕课网)_第7张图片




你可能感兴趣的:(AJAX学习笔记(慕课网))