AJAX 常用函数创建XMLHTTP对象,区别IE,Mozilla浏览

网络编程 2025-03-29 08:59www.168986.cn编程入门

AJAX:创建XMLHttpRequest对象的不同方式

在Web开发中,XMLHttpRequest对象是一种强大的工具,它允许我们在浏览器端与服务器进行通信。不同的浏览器可能会使用不同的方式创建XMLHttpRequest对象。这篇文章将向你展示如何在不同的浏览器(包括IE和其他主流浏览器如Mozilla、Netscape、Safari等)中创建XMLHttpRequest对象,以及如何获取服务器的响应。

让我们来看一下如何在不同的浏览器中创建XMLHttpRequest对象:

```javascript

function getRequest() {

var http_request = false;

if (window.XMLHttpRequest) {

// 对于Mozilla、Netscape、Safari等浏览器

http_request = new XMLHttpRequest();

if (http_request.overrideMimeType) {

// 如果服务器响应的header不是text/xml,可以调用此方法修改该header

http_request.overrideMimeType('text/xml');

}

} else if (window.ActiveXObject) {

// 对于IE浏览器

try {

http_request = new ActiveXObject("Msxml2.XMLHTTP");

} catch (e) {

try {

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

} catch (e) {}

}

}

return http_request;

}

```

接下来,我们将学习如何使用这个XMLHttpRequest对象来获取服务器的响应。这里有两个函数,一个用于获取响应文本(responseText),另一个用于获取响应XML(responseXML)。这两个函数的工作方式基本相同,都会创建一个XMLHttpRequest对象,然后向服务器发送一个GET请求。当收到服务器的响应时,它们会检查响应的状态。如果状态是200(意味着请求成功),它们会返回响应的文本或XML。如果状态不是200,它们会返回状态码。

获取响应文本的函数:

```javascript

function getResponseMessage(url) {

var http_request = getRequest();

http_request.open('GET', url, false);

http_request.send(null);

var requestdoc = null;

if (http_request.readyState == 4) { // 收到完整的服务器响应

if (http_request.status == 200) { // HTTP服务器响应的值OK

requestdoc = http_request.responseText; // 将服务器返回的字符串写到页面中ID为message的区域

} else {

requestdoc = http_request.status; // 如果状态不是OK,返回状态码

}

}

return requestdoc;

}

```

获取响应XML的函数类似,只是将返回的类型改为responseXML:

```javascript

function getResponseMessageInXML(url) { // 与上面函数的逻辑类似,只是返回的是responseXML而不是responseText }

```我们可以调用这些函数来获取服务器的响应,比如 `getResponseMessage(' 或 `getResponseMessageInXML('

上一篇:ajax实例入门代码 下一篇:没有了

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by