分享

ajax初步学习二

 rui5327 2012-08-30

获得服务端的响应信息,使用XMLHttpRequest 对象的 responseText 或者responseXML 属性

Property财产 Description描述
responseText 获取响应数据作为一个字符串
responseXML 得到的响应数据作为XML数据


responseText属性

如果服务端的响应不是xml,就可以使用responseText 属性。

responseText 属性返回响应信息是一个字符串document.getElementById("myDiv").innerHTML=xmlhttp.responseText;

responseXML属性

如果服务端响应是xml,可以使用responseXML 属性。

Request the file cd_catalog.xml and parse the response:

xmlDoc=xmlhttp.responseXML;
txt="";
x=xmlDoc.getElementsByTagName("ARTIST");
for (i=0;i<x.length;i++)
  {
  txt=txt + x[i].childNodes[0].nodeValue + "<br />";
  }
document.getElementById("myDiv").innerHTML=txt;

9.onreadystatechange事件

当响应发送到服务器,我们要在响应结果的基础上执行一些动作,使用onreadystatechange事件

 onreadystatechange事件被触发,当每次readyState变化时。

readyState属性保存的是XMLHttpRequest对象的状态

XMLHttpRequest对象的三个重要的属性:

Property财产 Description描述
onreadystatechange Stores a function (or the name of a function) to be called automatically each time the readyState property changes存储函数(或一个函数的名称)被自动调用,每次readyState属性的变化
readyState 保存XMLHttpRequest的状态。从0到4的变更:
0: request not initialized 0:请求未初始化
1: server connection established 1:服务器连接已建立
2: request received 2:接收到的请求
3: processing request 3:请求处理
4: request finished and response is ready 4:要求成品和响应准备
status状态 200: "OK" 200:“OK”
404: Page not found 404:没有发现

当readyState为4和状态是200,响应已准备就绪:

Example例子

xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
  }

10.使用回调函数Callback Function

一个回调的函数,被看过另一个函数的参数。如果程序当中有多个ajax任务,可以定义一个标准函数,以便通用

function myFunction()
{
loadXMLDoc("ajax_info.txt",function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
  });
}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多