JavaScript原生Ajax实现:XMLHttpRequest GET与POST请求详解

作者:异步漫步

时间:2026-10-27

浏览:552

本文详细介绍如何在无需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');
} 
} 
} 

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章