XMLHttpRequest对象三个属性,以及open,send方法

(1)onreadystatechange 属性
onreadystatechange 属性存有处理服务器响应的函数。下面的代码定义一个空的函数,可同时对 onreadystatechange 属性进行设置:

xmlHttp.onreadystatechange=function()
{
// 我们需要在这里写一些代码
}
(2)readyState 属性

readyState 属性存有服务器响应的状态信息。每当 readyState 改变时,onreadystatechange 函数就会被执行。

这是 readyState 属性可能的值:

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

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

xmlHttp.onreadystatechange=function()
{
if(xmlHttp.readyState==4)
{
// 从服务器的response获得数据
}
}
(3)responseText 属性

可以通过 responseText 属性来取回由服务器返回的数据。

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

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

另外:

AJAX - 向服务器发送一个请求
要想把请求发送到服务器,我们就需要使用 open() 方法和 send() 方法。

open() 方法需要三个参数:

  第一个参数定义发送请求所使用的方法(GET 还是 POST)。

与 POST 相比,GET 更简单也更快,并且在大部分情况下都能用。

然而,在以下情况中,请使用 POST 请求:

  • 无法使用缓存文件(更新服务器上的文件或数据库)
  • 向服务器发送大量数据(POST 没有数据量限制)
  • 发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠

  第二个参数规定服务器端脚本的 URL(该文件可以是任何类型的文件,比如 .txt 和 .xml,或者服务器脚本文件,比如 .asp 和 .php (在传回响应之前,能够在服务器上执行任务))。

  第三个参数规定应当对请求进行异步地处理(true(异步)或 false(同步))。

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

xmlHttp.open("GET","time.asp",true);
xmlHttp.send(null);

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
XMLHttpRequest是一种Web API,可以在客户端和服务器之间发送数据,使客户端能够更新并显示页面的部分内容,而无需重新加载整个页面。以下是XMLHttpRequest对象的详细解释: 1. 创建XMLHttpRequest对象:通过XMLHttpRequest对象的构造函数来创建一个新的对象,如下所示: ``` var xhr = new XMLHttpRequest(); ``` 2. 打开请求:使用XMLHttpRequest对象open()方法打开一个新的HTTP请求。该方法接受三个参数:请求方法(GET、POST等)、请求的URL和一个可选的布尔值,指示请求是否应在异步模式下处理。例如: ``` xhr.open('GET', 'http://example.com/data.php', true); ``` 3. 发送请求:使用XMLHttpRequest对象send()方法发送请求。如果请求是POST请求,则需要将要发送的数据作为参数传递给send()方法。例如: ``` xhr.send(); ``` 4. 接收响应:通过XMLHttpRequest对象的onreadystatechange属性指定用于处理响应的回调函数。该回调函数在接收到响应时被调用。例如: ``` xhr.onreadystatechange = function() { if (xhr.readyState === 4 && xhr.status === 200) { console.log(xhr.responseText); } }; ``` 5. 获取响应数据:通过XMLHttpRequest对象的responseText属性获取响应数据。例如: ``` console.log(xhr.responseText); ``` 以上就是XMLHttpRequest对象的基本使用方法。需要注意的是,在使用XMLHttpRequest对象时,还可以设置请求头、超时时间、跨域访问等属性方法

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值