JavaScript原生Ajax实现:XMLHttpRequest GET与POST请求详解
作者:异步漫步时间:2026-10-27 14:36:49浏览:553
本文详细介绍如何在无需jQuery等框架的情况下,利用原生JavaScript的XMLHttpRequest对象实现Ajax功能。内容涵盖兼容旧版浏览器的对象创建方法,以及分别演示GET和POST请求的标准代码实现,包括参数编码、请求头设置及状态监听逻辑,帮助开发者掌握轻量级异步通信方案。
原生JavaScript Ajax实现概述
在JavaScript引入各类框架(如jQuery)后,Ajax的使用变得极为简便。然而,若项目追求轻量化而不愿引入jQuery等重型JS库,同时又需使用Ajax功能时,应如何处理?下文将分享几种利用原生JavaScript实现Ajax的方法。
XMLHttpRequest对象创建与兼容性处理
代码示例如下:
var xmlHttp;
function createxmlHttpRequest() {
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} else if (window.XMLHttpRequest) {
xmlHttp=new XMLHttpRequest();
} 原生Ajax GET请求实现
(1)下面使用上面创建的xmlHttp实现最简单的ajax get请求:
代码示例如下:
function doGet(url){
// 注意在传参数值的时候最好使用encodeURI处理一下,以防出现乱码
createxmlHttpRequest();
xmlHttp.open("GET",url);
xmlHttp.send(null);
xmlHttp.onreadystatechange = function() {
if ((xmlHttp.readyState == 4) && (xmlHttp.status == 200)) {
alert('success');
} else {
alert('fail');
}
}
} 原生Ajax POST请求实现
(2)使用上面创建的xmlHttp实现最简单的ajax post请求:
代码示例如下:
function doPost(url,data){
// 注意在传参数值的时候最好使用encodeURI处理一下,以防出现乱码
createxmlHttpRequest();
xmlHttp.open("POST",url);
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlHttp.send(data);
xmlHttp.onreadystatechange = function() {
if ((xmlHttp.readyState == 4) && (xmlHttp.status == 200)) {
alert('success');
} else {
alert('fail');
}
}
} 作者最新文章
D3.js 比例尺与坐标轴的配置详解
2026-11-05 16:54:46
JavaScript怎么遍历对象的Symbol键和不可枚举属性
2026-11-05 13:13:39
封装一个健壮的JS字符串判空工具函数
2026-11-05 12:16:14
JavaScript合并数组的三种常用方法:concat、扩展运算符与push
2026-11-05 11:22:29
JavaScript立即执行函数(IIFE)是什么及基本语法
2026-11-05 10:51:19
