Ajax基础--方法和属性

本文详细介绍了XMLHttpRequest对象的方法和属性,包括open、send等关键方法,以及onreadystatechange、readyState等重要属性,阐述了如何利用这些API实现异步数据交换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  标准 XMLHttpRequest 操作
   
   
abort()
停止当前请求
getAllResponseHeaders()
HTTP 请求的所有响应首部作为键 / 值对返回
getResponseHeader("header")
返回指定首部的串值
open("method", "url")
建立对服务器的调用。 method 参数可以是 GET POST PUT url 参数可以是相对 URL 或绝对 URL 。这个方法还包括 3 个可选的参数
send(content)
向服务器发送请求
setRequestHeader("header", "value")
把指定首部设置为所提供的值。在设置任何首部之前必须先调用 open()
下面来更详细地讨论这些方法。
void open(string method, string url, boolean asynch, string username, string password):这个方法会建立对服务器的调用。这是初始化一个请求的纯脚本方法。它有两个必要的参数,还有3个可选参数。要提供调用的特定方法( GETPOSTPUT),还要提供所调用资源的URL。另外还可以传递一个Boolean值,指示这个调用是异步的还是同步的。默认值为 true,表示请求本质上是异步的。如果这个参数为 false,处理就会等待,直到从服务器返回响应为止。由于异步调用是使用Ajax的主要优势之一,所以倘若将这个参数设置为 false,从某种程度上讲与使用XMLHttpRequest对象的初衷不太相符。不过,前面已经说过,在某些情况下这个参数设置为 false也是有用的,比如在持久存储页面之前可以先验证用户的输入。最后两个参数不说自明,允许你指定一个特定的用户名和密码。
void send(content):这个方法具体向服务器发出请求。如果请求声明为异步的,这个方法就会立即返回,否则它会等待直到接收到响应为止。可选参数可以是DOM对象的实例、输入流,或者串。传入这个方法的内容会作为请求体的一部分发送。
void setRequestHeader(string header, string value):这个方法为HTTP请求中一个给定的首部设置值。它有两个参数,第一个串表示要设置的首部,第二个串表示要在首部中放置的值。需要说明,这个方法必须在调用 open()之后才能调用。
在所有这些方法中,最有可能用到的就是 open()send()。XMLHttpRequest对象还有许多属性,在设计Ajax交互时这些属性非常有用。
void abort():顾名思义,这个方法就是要停止请求。
string getAllResponseHeaders()这个方法的核心功能对 Web 应用开发人员应该很熟悉了,它返回一个串,其中包含HTTP请求的所有响应首部,首部包括 Content-
Length
DateURI
string getResponseHeader(string header)这个方法与 getAllResponseHeaders()是对应的,不过它有一个参数表示你希望得到的指定首部值,并且把这个值作为串返回。
除了这些标准方法,XMLHttpRequest对象还提供了许多属性,如表2-2所示。处理XMLHttpRequest时可以大量使用这些属性。
2-2   标准 XMLHttpRequest 属性
   
   
onreadystatechange
每个状态改变时都会触发这个事件处理器,通常会调用一个 JavaScript 函数
readyState
请求的状态。有 5 个可取值: 0 = 未初始化, 1 = 正在加载, 2 = 已加载, 3 = 交互中, 4 = 完成
responseText
服务器的响应,表示为一个串
responseXML
服务器的响应,表示为 XML 。这个对象可以解析为一个 DOM 对象
status
服务器的 HTTP 状态码( 200 对应 OK 404 对应 Not Found (未找到),等等)
statusText
HTTP 状态码的相应文本( OK Not Found (未找到)等等)
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值