实现ajax异步请求
1、去除两端空白
function Trim(str){ return str.replace(/(^\s*)|(\s*$)/g, "");}
实现ajax
ajax:
Asynchronous :异步
JavaScript
And :和
XML
ajax技术就是利用javascript和xml实现异步交互的功能
ajax有自己的引擎,传统的交互是client和sever直接进行交互,
ajax是client把请求发送到ajax引擎,ajax引擎再向server发送请求,
这样实现异步请求
1.创建ajax对象
function createxhr(){ try{return new XMLHttpRequest()}catch(e){} //w3c中,在ie高版本中也支持 try{return new ActiveXObject('Microsoft.XMLHTTP')}catch(e){} //ie中 alert('请更换浏览器'); }
2、初始化ajax对象
xhr.open('get','demo01.php');//open(mehod,url)
这里还可以设置请求头信息
setRequestHeader(header,value);//可以用1('If-Modified-Since','0')来消除缓存,也可以用加随机数2 Math.random()
或者随机时间3 var url='demo01.php?name=huohaifeng&_='+ new Date().getTime();
或者4 在服务器端设置header("Cache-Control: no-cache");
3、发送请求
send(content) 只有到send方法被调用的时候才会发送请求,content:post请求时传递的数据,如果是get请求直接写null
4、执行回调函数
onreadystatechange=funtion(){}当ajax对象状态码改变时会触发
ajax其他一些属性:
readyState:ajax对象状态码:0-4
0:表示对象已建立,但没有初始化
1 :表示对象已初始化,但未发送
2:已调用send方法进行请求
3 :正在接收数据
4 :接收完成
status
ajax对象接收到的http响应状态码 如:200 302 304 404
statusText
ajax对象接收到的http响应状态文本 如:ok、not found
reponseText
ajax对象接收到http响应主体字符串 (text/html)
responseXML
ajax对象接收到的http响应主体内容(text/xml)