JSON 与 Ajax

news/2025/3/15 8:31:37/

JSON 与 Ajax

AJAX 就是异步 JavaScript 和 XML,它是一组用于客户端的相互关联的 Web 开发技术,以创建异步 Web 应用程序。遵循 AJAX 模型,Web 应用程序可以以异步的方式发送数据以及从服务器上检索数据,而不影响现有页面的显示行为。

许多开发人员都在客户端和服务器之间使用 JSON 传递 AJAX 更新。实时更新体育成绩的站点就可以视为一个 AJAX 例子。如果这些成绩要更新到站点上,那么必须要把它们存储到服务器上便于需要时网页能取回这些成绩。这里我们可以使用 JSON 格式的数据。

任何使用 AJAX 更新的数据都可以使用 JSON 格式存储在 Web 服务器上。使用 AJAX,那么 JavaScript 就可以在必要时取回这些 JSON 文件,解析它们,然后做以下两件事情:

  • 把它们显示到网页上之前将解析的值存储到变量中便于进一步处理。
  • 直接分配数据给网页中的 DOM 元素,那么它就会显示在站点上。

示例

下面的代码展示了 JSON 和 AJAX,请把它们保存为 ajax.html 文件。这里的加载函数 loadJSON() 将会使用异步的方式上传 JSON 数据。

<!DOCTYPE html>
<html lang="en">
<head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
<script type="application/javascript">
function loadJSON()
{var data_file = "https://atts.w3cschool.cn/articles/user.json";var http_request = new XMLHttpRequest();try{// Opera 8.0+, Firefox, Chrome, Safarihttp_request = new XMLHttpRequest();}catch (e){// IE 浏览器处理try{http_request = new ActiveXObject("Msxml2.XMLHTTP");}catch (e) {try{http_request = new ActiveXObject("Microsoft.XMLHTTP");}catch (e){// 错误处理alert("Your browser broke!");return false;}}}http_request.onreadystatechange = function(){if (http_request.readyState == 4 ){// 使用 JSON.parse 解析 JSON 数据var jsonObj = JSON.parse(http_request.responseText);// jsonObj 变量现在包含数组结构,可以通过 jsonObj.name 和 jsonObj.country 的方式访问document.getElementById("Name").innerHTML = jsonObj.name;document.getElementById("Country").innerHTML = jsonObj.country;}}http_request.open("GET", data_file, true);http_request.send();
}
</script>
<title>tutorialspoint.com JSON</title>
</head>
<body>
<h1>Cricketer Details</h1>
<table class="src">
<tr><th>Name</th><th>Country</th></tr>
<tr><td><div id="Name">Sachin</div></td>
<td><div id="Country">India</div></td></tr>
</table>
<div class="central">
<button type="button" onclick="loadJSON()">Update Details </button>
</div>
</body>
</html>

下面就是包含 JSON 格式数据的输入文件 user.json,当我们点击 Update Detail 按钮时会以异步的方式请求这个json。这个文件已经保存到https://atts.w3cschool.cn/articles/user.json上了。

{"name": "brett", "country": "Australia"}

上面的 HTML 代码会生成如下所示屏幕显示,这里你可以进行 AJAX 实战:

当我们点击 Update Detail 按钮时,应该会得到如下所示的结果,你也可以自己尝试 JSON 和 AJAX,提供你自己的浏览器支持的 JavaScript。

 由于CROS的存在,跨域请求处理会被浏览器屏蔽掉,所以ajax请求只能在相同域名下进行请求(比如本站的网页请求本站的Ajax),以上代码在在线运行情况下是可以运行的,但在本地情况下不能运行,望知悉。


http://www.ppmy.cn/news/39393.html

相关文章

044:cesium加载单个图片形成底图

第044个 点击查看专栏目录 本示例的目的是介绍如何在vue+cesium中加载单个图片形成底图. 直接复制下面的 vue+cesium源代码,操作2分钟即可运行实现效果. 文章目录 示例效果配置方式示例源代码(共78行)相关API参考:专栏目标示例效果 配置方式 1)查看基础设置:https://x…

【MATLAB】一篇文章带你了解beatxbx工具箱使用

目录 一篇文章带你了解beatxbx工具箱使用 一篇文章带你了解beatxbx工具箱使用 clc;clear; tic; % step1 初始化 % 个体数量 NIND = 35; % 最大遗传代数 MAXGEN = 180; % 变量的维数 NVAR = 2; % 变量的二进制位数 % 上下界 bounds=[-10 10-10 10]; precision=0.0001; %运算精度…

67页新型智慧城市整体规划建设方案

本资料来源公开网络&#xff0c;仅供个人学习&#xff0c;请勿商用&#xff0c;如有侵权请联系删除 新型智慧城市总体规划智慧城市基础平台的定位对于省&#xff1a;智慧城市建设是省数字政府的核心节点和重要一环 对于市直单位&#xff1a;智慧城市基础平台是全市数据资源和公…

MongoDB 查询文档(2)

上一篇 MongoDB查询文档(1) 中介绍了MongoDB查询文档中使用比较筛选和逻辑筛选&#xff0c;这里我们继续介绍MongoDB的文档查询&#xff0c;这里我们介绍元素筛选、数组筛选。 一、元素筛选 1、判断元素是否存在&#xff08;$exists&#xff09; 语法&#xff1a;{ field: {…

Shell脚本之数组

一、数组的概念 数组中可以存放多个值。Bash Shell 只支持一维数组&#xff08;不支持多维数组&#xff09;。与大部分编程语言类似&#xff0c;数组元素的下标由 0 开始。Shell 数组用括号来表示&#xff0c;元素用"空格"符号分割开 二、数组的定义方法 1、方法一…

python3中collections模块详解

collections模块简介 collections包含了一些特殊的容器&#xff0c;针对Python内置的容器&#xff0c;例如list、dict、set和tuple&#xff0c;提供了另一种选择&#xff1b; namedtuple&#xff0c;可以创建包含名称的tuple&#xff1b; deque&#xff0c;类似于list的容器&a…

一款「比理想主义现实一点但又没那么现实主义」的产品

“We shape our tools, and therefore our tools shape us” 我们塑造了工具&#xff0c;然后工具也塑造了我们 开头这条金句究竟出自哪位名人之口&#xff0c;至今没有共识。 一说出自 1943 年 10 月英国首相温斯顿丘吉尔于议会所发表的演说&#xff0c;主题为重建在战争中被…

智慧水务信息化平台建设,实现供水一体化管控

平台概述 柳林智慧水务系统平台是以物联感知技术、大数据、智能控制、云计算、人工智能、数字孪生、AI算法、虚拟现实技术为核心&#xff0c;以监测仪表、通讯网络、数据库系统、数据中台、模型软件、前台展示、智慧运维等产品体系为支撑&#xff0c;以城市水资源、水生态、水…