AJAX 常用函数创建XMLHTTP对象,区别IE,Mozilla浏览
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 常用函数创建XMLHTTP对象,区别IE,Mozilla浏览
- ajax实例入门代码
- jQuery实现表单动态添加数据并提交的方法
- SWFObject基本用法实例分析
- JS实现CheckBox复选框全选、不选或全不选功能
- Angularjs自定义指令Directive详解
- PHP rsa加密解密算法原理解析
- 深入浅析jQuery对象$.html
- vue路由跳转传参数的方法
- Javascript 获取鼠标当前的位置实现方法
- PHP中的递归正则表达式用法分享
- 对PHP新手的一些建议(PHP学习经验总结)
- jsp页面中两种方法显示当前时间的简单实例
- ThinkPHP5.1验证码功能实现的示例代码
- react中fetch之cors跨域请求的实现方法
- 一个简单的ASP.NET验证码