浅谈ajax(二)

前端之家收集整理的这篇文章主要介绍了浅谈ajax(二)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我们在使用open()的时候会有一个URL的参数,url参数其实就是指服务器上的文件地址,这个地址可以是任何类型的文件:txt、xml或者其他页面文件

第三个参数是异步(true orfalse):不推荐使用false

服务器响应

如果需要获得服务器的响应,我们可以使用XMLHttpRequest对象的reponseText 或者reponsexml属性

当来自服务器的响应不是XML的时候,需要使用requestText属性,该属性可以返回字符串形式的响应:

document。getElementById("myDiv").innerHTML=xmlhttp.reponseText;

如果来自服务器的响应时XML,那么需要作为XML对象进行解析,需要使用reponseXML属性

例如请求hello.xml,并解析。

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;

onreadystatechange事件

当请求被发送到服务器,我们需要执行一些基于响应的任务,每当readyState改变时,就会触发onreadystatechange事件。

readystate属性存有XMLHttpRequest的状态信息。

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

readyState

存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。

  • 0: 请求未初始化
  • 1: 服务器连接已建立
  • 2: 请求已接收
  • 3: 请求处理中
  • 4: 请求已完成,且响应已就绪
status

200: "OK"

404: 未找到页面


当readystate等于4而且状态为200的时候,表示响应已经就绪。


xmlhttp.onreadystatechange=function(){
   if(xmlhttp.readystate==4&&xmlhttp.status==200){
    document。gtElementById("myDiv").innerHTML=xmlhttp.reponseText;
  }
}

Callback()

函数是一种以参数形式传递给另一函数函数

如果一个网站上面存在有多个ajax的任务,那么当创建对象编写一个编著的函数,并给每个ajax任务调用函数

函数调用应该包含url以及发生onreadystatechange时间时执行的任务(每次调用不尽相同)

function myFunction()
{
loadXMLDoc("ajax_info.txt",function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
  });
}
原文链接:https://www.f2er.com/ajax/166884.html

猜你在找的Ajax相关文章