Ajax全接触

XMLHttpRequest对象建立:

Var request;

if(window.XMLHttpRequest){

   request=new XMLHttpRequest();

}else{

request=new ActiveXObject("Microsoft");//IE5,6

}

HTTP请求:

GET:通常用户信息的获取php

使用URL传递参数ajax

对所发送信息的数量也有限制,通常在2000字符json

(若是只用于消息的获取那么是安全的,若是用于信息的传递则通常是不安全的由于很容易被获取到)浏览器

POST:通常用于修改服务器上的资源安全

对所发送信息的数量无限制服务器

(安全许多,对其余人不可见)app

XMLHttpRequest发送请求:

open(method,url,async)  method:[get/post],url:请求地址,async[true/false]true则是异步false则是同步,默认是true因此通常不填异步

send(string):使用get方法的话这个send的参数能够不填写,若是是post则必定须要填写参数async

在使用post发送请求的时候,必需要加在中间加上request.serRequesetHeader("content-tyepe","application/x-www-form-urlencoded"),告诉浏览器我发送的是一个表单post

XMLHttpRequest取得响应:

 

(但实际上使用json格式多一些)

 

若是响应完成而且请求成功(request.readyState==4&&request.status==200),那么接下来能够作一些事情了。

document.getElementById("search").onclick=function(){
	var request=new XMLHttpRequest();
	request.open("GET","service.php?number="+document.getElementById("keyword").value);
	request.send();
	
	request.onreadystatechange=function(){
		if(request.readyState===4){
			if(request.status===200){
				document.getElementById("searchResult").innerHTML=request.responseText;
			}
			else{
				alert("发送错误"+request.status)
			}
		}
	}
}

json

json比XML更好,通常都是用json

json 的书写格式:名称:值对(名称必定须要加"")

如:"name":"郭靖","age":17

json的解析方式

1,eval :eval( '(' +json+ ')' );

但这种方法有很大的缺陷,他不只会解析json中的数据还会执行json中的语句,这样是十分危险的,因此通常不用eval。

2,JSON.parse(json);

 

jsonlint检验json格式是否正确。

使用jQuery实现ajax