原生JavaScript实现Ajax请求JSON数据的完整示例

作者:异步漫步时间:2026-10-21 19:02:45浏览:418

本文通过具体代码实例,展示如何使用原生JavaScript的XMLHttpRequest对象发起Ajax请求并处理返回的JSON数据。尽管jQuery等库简化了开发,但理解原生Ajax原理对前端工程师依然重要。文章提供了精简后的完整代码,涵盖从创建请求对象、配置请求参数到处理服务器响应的全过程,帮助开发者掌握底层实现机制。

原生Ajax处理JSON数据概述

原生JavaScript处理JSON格式数据的代码示例如下:随着jQuery等库的普及,直接使用原生Ajax的场景逐渐减少,这主要归功于jQuery提供的便捷封装。然而,深入理解原生Ajax的工作原理对于前端开发者而言依然至关重要。接下来,我们将对一段原本基于jQuery Ajax实现的代码进行重构,以展示原生实现方式。

具体代码实现如下:

原生Ajax请求JSON数据代码实现


<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>本站</title>
<script>
function loadXMLDoc() {
 var xmlhttp;
 if (window.XMLHttpRequest) {
  xmlhttp = new XMLHttpRequest();
 }
 else {
  xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
 }
 xmlhttp.onreadystatechange = function () {
  if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
   var jsonStr = xmlhttp.responseText;
   var jsonObj = JSON.parse(jsonStr);
   var data = jsonObj.table;
   var odiv = document.getElementById("show");
   var str = "";
   for (var index = 0; index < data.length; index++) {
    str = str + data[index]["ID"]
    + "," + data[index]["username"]
    + "," + data[index]["address"]
    + "," + data[index]["age"]
    + "," + data[index]["score"]+"<br/>";
   }
   odiv.innerHTML = str;
  }
 }
 xmlhttp.open("GET", "demo/ajax/net/Handler.ashx", true);
 xmlhttp.send();
}
window.onload = function () {
 loadXMLDoc();
}
</script>
</head>
<body>
<div id="show"></div>
</body>
</html>

上述代码演示了原生Ajax请求JSON数据的效果,该示例已进行精简处理。

作者最新文章