原生的ajax的使用:

创建XMLHttpRequest对象的创建

为了每次写Ajax的时候都节省一点时间, 可以把对象检测的内容打包成一个可复用的函数:

function getHTTPObject(){
var xhr=false;
	if (window.XMLHttpRequest){
	xhr = new XMLHttpRequest () ;
	}elseif(window.ActiveXObject){
	xhr=new ActiveXObject("Microsoft.XMLHTTP");
	}
return xhr:
}


XMLHttpRequest对象的方法:

abort()停止当前请求

getAllResponseHeaders() 把http请求的所有响应收不作为键值对返回

getResponseHeader("header")返回指定首部的串值

open("menthod","url",[true或false])异步请求或同步请求)建立对服务器的调用,menthod参数可以是GET或者 POST url参数可以是相对url或者绝对url

    异步请求:同一个时间允许多个进程

    同步请求:同一个时间允许一个进行

send(content) 发送请求

setRequestHeader("header","value") 把指定的首部设置为所提供的值 在设置任何首部之前必须先调用open

XMLHttpRequest对象的属性

readyState 返回当前请求状态.有5个可取值.  

0=未初始化 (刚创建对象,尚未调用open方法)

1=正在加载 (已经调用open方法)

2=已经加载 (已经调用send方法)

3=交互中 (正在返回数据中,但是还没有返回完整)

4=完成 (数据已经完全返回完毕了)

responsebody 将以unsigned byte数组形式返回,只读

responseStream 以Ado Strean对象的形式返回响应信息,只读

responseText 以字符串的形式接受服务器的返回信息

responseXML 以XML对象的形式返回信息,这个对象可以解析为dom对象

status 服务器的http状态码

statusText http状态码的对应文本(ok或者NotFount等)


XMLHttpRequest事件

onredaystatechange每个状态改变都是触发这个事件处理器,通常会调用一个JavaScript函数

为了获取较多的状态.最好在创建好ajax对象后就设置


get使用注意事项:

1传递参数对 中文、=、 &等特殊字符进行处理,JavaScript中使用encodeURIComponent('url');函数对参数进行编码(服务端接收参数后无需解码.)(post无需编码)

特殊符号如下:以及对于的原作用

#    用来标志特定的文档位置 %23
%    对特殊符号进行编码    %25
&    分割不同的变量值
+    在变量值中表示空格 %2B
\    表示目录路径    %2F
=    连接键值    %3D
?    查询字符串的开始 %30
汉字的每个字节转换为%加两个十六进制数字

禁止浏览器缓存页面(php)或者在请求url后面直接加随机数

header("Cache-Control:no-cache");

header("Pragma:no-cache");

header("Expires:-1");