AJAX XMLHttp

创建于 2024-12-03 / 44
字体: [默认] [大] [更大]

AJAX 的关键是XMLHttpRequest对象。


XMLHttpRequest 对象

所有现代浏览器都支持XMLHttpRequest对象。

XMLHttpRequest对象可用于在后台与服务器交换数据。这意味着可以更新网页的一部分,而不必重新加载整个页面。


创建XMLHttpRequest对象

所有现代浏览器(Chrome、Firefox、IE7+、Edge、Safari Opera)都有一个内置的XMLHttpRequest对象。

创建XMLHttpRequest对象的语法:

variable = new XMLHttpRequest();

实例

var xhttp = new XMLHttpRequest(); 尝试一下 »

跨域访问

出于安全原因,现代浏览器不允许跨域访问。

这意味着网页和它试图加载的XML文件必须位于同一服务器上。

W3Schools上的实例都打开了位于W3Schools域上的XML文件。

如果要在自己的某个网页上使用上述实例,则加载的XML文件必须位于自己的服务器上。


旧版本的Internet Explorer(IE5和IE6)

旧版本的Internet Explorer(IE5和IE6)使用ActiveX对象而不是XMLHttpRequest对象:

variable = new ActiveXObject("Microsoft.XMLHTTP");

要处理IE5和IE6,请检查浏览器是否支持XMLHttpRequest对象,或者创建ActiveX对象:

实例

if (window.XMLHttpRequest) {
    // code for modern browsers
    xmlhttp = new XMLHttpRequest();
 } else {
    // code for old IE browsers
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} 尝试一下 »

XMLHttpRequest 对象方法

方法 描述
new XMLHttpRequest() 创建新的XMLHttpRequest对象
abort() 取消当前请求
getAllResponseHeaders() 返回标题信息
getResponseHeader() 返回特定的标题信息
open(method,url,async,user,psw) 指定请求

方法:请求类型 GET 或 POST
url:文件位置
async:true(异步)或 false(同步)
user:可选用户名
psw:可选密码
send() 将请求发送到服务器
用于获取请求
send(string) 将请求发送到服务器。
用于POST请求
setRequestHeader() 将标签/值对添加到要发送的标头

XMLHttpRequest 对象属性

属性 描述
onreadystatechange 定义readyState属性更改时要调用的函数
readyState 保存XMLHttpRequest的状态。
0: 请求未初始化
1: 已建立服务器连接
2: 已收到请求
3: 正在处理请求
4: 请求已完成,响应已准备就绪
responseText 以字符串形式返回响应数据
responseXML 以XML数据的形式返回响应数据
status 返回请求的状态号
200: "OK"
403: "Forbidden"
404: "Not Found"
如需完整列表,请访问 Http 消息参考
statusText 返回状态文本(例如确定或未找到)


0 人点赞过