ajax

ajax
XmlhttpRequest 对象
创建XMLhttpRequest 对象
IE 中实现为activeX脚本
其他浏览器作为javascript 的内置对象
实现方式不同,提供的借口相同


原生代码:
function getHttpRequest{
 var xhl=false;
 if(window.XMLHttpRequest)
 {
  xhl=new XMLHttpRequest();
 }
 else if(window.ActiveXObject){
  xhl=new ActiveXObject("Microsoft.XMLHTTP");
 
 }
 return xhr;
}

XMLHttpRequest 的方法
open("method","url"); 确定发送的方式和目标
send(content); 发送信息
setRequestHeader("header","value"); 指定首部的值(之前必须调用open方法),post请求时设置一个header
abort()停止当前请求
getAllResponseHeaders()返回请求的所有响应的键值对
getAllResponseHeader("header")返回指定首部值
属性:
onreadystatechange 每个状态的改变都会触发这个事件,通常会调用一个javascript函数
readyState 请求的状态(0未初始化,1正在加载,2已加载,3交互中,4完成)
responseText 服务器的响应,返回一个字符串,表示为xml,可以解析为dom对象
status 服务器的Http状态(200 Ok,404对应未找到资源,500等表示服务器错误)
statusText HTTP状态码相应的文本

原生的ajax处理
window.onload=function()
{
 document.getElementsByTagName("a")[0].onclick=function()
 {
  var req=new XMLHttpRequest();
  var url=this.href;
  var method="GET";
  req.open(method,url);
  req.send(null);
  req.onreadystatechange=function(){
   if(req.readyState==4)
   {
    req.status==200||req.status==304)
    alert(req.req.responseText);
   }
  }
  return false;
 }
}


open(method,url,asynch)
method:请求的方式 :get,post
url:请求的目的
asynch:是否异步传输默认为true(一般不使用)

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章