AJax技术

ajax技术的核心内容:XMLHttpRequest对象详解(2)

字号+ 作者:H5之家 来源:H5之家 2017-06-26 14:00 我要评论( )

5)、send(String):发送HTTP请求,使用传递给open()方法的参数,以及传递给该方法的可选请求体。此方法用于向服务器发送请求,如果请求声明为异步,该方法立即返回,否则将等到接收到响应为止。 参数String用于指

5)、send(String):发送HTTP请求,使用传递给open()方法的参数,以及传递给该方法的可选请求体。此方法用于向服务器发送请求,如果请求声明为异步,该方法立即返回,否则将等到接收到响应为止。

    参数String用于指定发送的数据,可以是DOM对象的实例,输入流或字符串,如果没有参数传递可以设置为null。

6)、setRequestHeader():向一个打开但未发送的请求设置或添加一个HTTP请求,语法格式如下:

 

setRequestHeader("header",“value”)

 

    header:用于指定HTTP头

    value:用于指定的HTTP头设置值

 

注意:setRequestHeader()方法必须在调用open()方法之后才能调用

 

7)、getRequestHeader():用于字符串形式返回指定的HTTP头信息,语法格式如下:

  

getRequestHeader(“headerLabel”)

 

    headerLabel用于指定HTTP头,包括Server、Content-Type和Date等。

 

3、XMLHttpRequest属性

   XMLHttpRequest对象中的属性如下所示:

    1)、readyState:HTTP请求的状态,属性值从0-4,具体说明如下:

        0:请求为初始化

        1:服务器连接以建立

        2:请求以接收

        3:请求处理中

        4:请求以完成,且响应以就绪

   2)、responseText:到目前为止服务器的接收到的响应体(不包括头部)

,如果还没有接收到数据,就是控制字符串。如果来自服务器的响应并非XML,建议使用responseText属性,因为responseText属性返回字符串形式的响应,所以可以用如下代码使用responseText属性。

document.getElementById("myDiv").innerHTML=xmlhttp.responseText

 

   3)、responseXML:对请求的响应,解析为XML并作为Document对象返回。如果来自服务器的响应是XML,而且需要作为XML对象进行解析,此时,需要使用responseXML属性。

    4)、status:有服务器返回的HTTP状态代码。

    5)、statusText:这个属性用名称而不是数字指定了请求的HTTP的状态代码。

 

4、XMLHttpRequest对象的时间句柄函数

       当请求被发送到服务器时,需要执行一些基于响应的任务。事件onreadystatechange是每次readyState属性改变时调用的事件句柄函数。在属性readyState中保存了XMLHttpRequest的状态信息。

      在onreadystatechange事件中规定,当服务器响应以做好被处理的准备时,所执行的任务。当readyState等于4或者200时,标示 响应已经就绪,代码如下:

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

 

  如果在网站上存在多个Ajax任务,那么应该为创建的XMLHttpRequest对象编写一个标准的函数,并为每个Ajax任务调用函数callback(),函数callback()应该调用包含URL以及发生onreadystatechange事件时执行的任务,例如代码如下:

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

 

  在指定所触发的事件处理器时,所调用的javaScript函数不能添加小括号及指定参数名,不过这里可以使用匿名函数,例如,要调用带参数的函数getResult(),可以使用下面的代码。

http_request.onreadystatechange=function(){ getResult("添加的参数"); //调用带参数的函数 } //通过匿名函数指定要带参数的函数

 

简单的学习笔记,希望博友提成宝贵的意见和建议,非常感谢!

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 【AJAX】AJAX技术详细解析以及实例

    【AJAX】AJAX技术详细解析以及实例

    2017-06-26 14:01

  • ajax实时刷新 使用ajax技术无刷新动态调用新浪股票实时数据

    ajax实时刷新 使用ajax技术无刷新动态调用新浪股票实时数据

    2017-06-23 12:02

  • day19-jQuery&Ajax

    day19-jQuery&Ajax

    2017-06-23 11:06

  • 残风vs逝梦的个人页面

    残风vs逝梦的个人页面

    2017-06-23 09:00

网友点评