AJAX知识点回顾

AJAX=Asynchronous JavaScript and XML

AJAX是在不重新加载整个页面的情况下与服务器交换数据并更新部分网页的艺术,是一种用于创建快速动态网页的技术。

XMLHttpRequest 是AJAX的基础,现代所有浏览器均支持XMLHttpRequest对象(IE5、IE6使用ActiveXObject)。

创建XMLHttpRequest对象的语法:variable=new XMLHttpRequest();

向服务器发送请求:使用XMLHttpRequest 对象的 open() 和 send() 方法:

xmlhttp.open(method,url,async);

xmlhttp.send();          send(string )将请求发送到服务器,string仅用于POST请求

      

method:请求的类型;GET或POST

URL:文件在服务器上的位置

async:true(异步)false:(同步)

为了避免get到的是缓存的结果,请向 URL 添加一个唯一的 ID:

xmlhttp.open(“GET”,”demo_get.asp?t=” + Math.random(),true);

xmlhttp.send();

如果需要像 HTML 表单那样 POST 数据,请使用 setRequestHeader() 来添加 HTTP 头。然后在 send() 方法中规定您希望发送的数据:

xmlhttp.open(“POST”,”ajax_test.asp”,true);

xmlhttp.setRequestHeader(“Content-type”,”application/x-www-form-urlencoded”);

xmlhttp.send(“fname=Bill&lname=Gates”);

setRequestHeader(header,value)向请求添加 HTTP 头。header: 规定头的名称 value: 规定头的值

当使用 async=true 时,请规定在响应处于 onreadystatechange 事件中的就绪状态时执行的函数:

xmlhttp.onreadystatechange=function()

  {

  if (xmlhttp.readyState==4 && xmlhttp.status==200)

    {

document.getElementById(“myDiv”).innerHTML=xmlhttp.responseText;

    }

  }

xmlhttp.open(“GET”,”test1.txt”,true);

xmlhttp.send();

服务器响应

如需获得来自服务器的响应,请使用 XMLHttpRequest 对象的 responseText 或 responseXML 属性。

responseText        获得字符串形式的响应数据。

responseXML        获得 XML 形式的响应数据。

onreadystatechange 事件

readyState 属性存有 XMLHttpRequest 的状态信息。每当 readyState 改变时,就会触发 onreadystatechange 事件。

onreadystatechange        存储函数(或函数名),每当 readyState 属性改变时,就会调用该函数。

readyState        存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。(0: 请求未初始化1: 服务器连接已建立2: 请求已接收3: 请求处理中4: 请求已完成,且响应已就绪)

status                200: “OK” 404: 未找到页面

当 readyState 等于 4 且状态为 200 时,表示响应已就绪

欢迎分享本文,转载请保留出处:前端ABC » AJAX知识点回顾

分享到:更多 ()

发表评论 0