JavaScript的ajax使用

使用ajax首先定义个XMLHttpRequest变量,为了判断对IE6以及以下版本的兼容性,需要
var xmlHR;
        if (window.XMLHttpRequest) {
                xmlHR = new XMLHttpRequest();
        }else{
                        xmlHR = new ActiveXObject("Microsoft.XMLHTTP");
        }
XMLHttpRequest对象的常用属性和方法有:
XMLHttpRequest 对象的三个常用的属性:

1. onreadystatechange 属性
onreadystatechange 属性存有处理服务器响应的函数。

下面的代码定义一个空的函数,可同时对 onreadystatechange 属性进行设置:

xmlHR.onreadystatechange=function()
  {
  // 我们需要在这里写一些代码
  }
2.readyState 属性
readyState 属性存有服务器响应的状态信息。每当 readyState 改变时,onreadystatechange 函数就会被执行。

readyState 属性可能的值:

状态   描述 
0       请求未初始化(在调用 open() 之前) 
1       请求已提出(调用 send() 之前) 
2       请求已发送(这里通常可以从响应得到内容头部) 
3       请求处理中(响应中通常有部分数据可用,但是服务器还没有完成响应) 
4       请求已完成(可以访问服务器响应并使用它)

我们要向这个 onreadystatechange 函数添加一条 If 语句,来测试我们的响应是否已完成(意味着可获得数据):

xmlHR.onreadystatechange=function()
  {
  if(xmlHttp.readyState==4)
    {
    // 从服务器的response获得数据
    }
  }
3.responseText 属性
可以通过 responseText 属性来取回由服务器返回的数据。

在我们的代码中,我们将把时间文本框的值设置为等于 responseText:

xmlHR.onreadystatechange=function()
  {
  if(xmlHR.readyState==4)
    {
    document.myForm.time.value=xmlHttp.responseText;
    }
  }

xmlHttpRequst的方法

1.open() 方法

open() 有三个参数。第一个参数定义发送请求所使用的方法,第二个参数规定服务器端脚本的URL,第三个参数规定应当对请求进行异步地处理。

xmlHR.open("GET","test.php",true);

2.send() 方法

send() 方法将请求送往服务器。如果我们假设 HTML 文件和 PHP 文件位于相同的目录,那么代码是这样的:

xmlHR.send(null);

XMLHttpRequest的ajax使用一般步骤
open(“GET”或“POST”)    setRequestHeader ("Content-type","application/x-www-form-encoded")       send        onreadystatechange

上一篇:Jqgrid入门-Jqgrid格式化数据(九)


下一篇:2018-2019 ICPC, NEERC, Southern Subregional Contest (codeforces 1070)