AJAX and JSON Example
创作时间:
作者:
@小白创作中心
AJAX and JSON Example
引用
CSDN
1.
https://m.blog.csdn.net/jimn2000/article/details/144093230
在前后端的数据交换中,AJAX(Asynchronous JavaScript and XML)和JSON(JavaScript Object Notation)是非常常见的技术。AJAX允许网页与服务器进行异步数据交换,而JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。下面我将提供一个前后端使用AJAX和JSON进行数据交换的详细例子。
后端(以Node.js为例)
首先,我们需要一个后端服务来处理AJAX请求并返回JSON数据。这里我们使用Node.js和Express框架来创建一个简单的API。
安装Node.js和Express
如果你还没有安装Node.js,可以从Node.js官网下载并安装。安装完成后,使用npm(Node.js的包管理器)安装Express:
npm init -y
npm install express --save
创建服务器
创建一个名为server.js
的文件,并添加以下代码:
const express = require('express');
const app = express();
app.use(express.json()); // 用于解析JSON格式的请求体
// 定义一个GET路由,返回JSON数据
app.get('/api/data', (req, res) => {
const data = {
id: 1,
name: 'John Doe',
email: 'john@example.com'
};
res.json(data); // 以JSON格式响应
});
// 定义一个POST路由,接收JSON数据
app.post('/api/data', (req, res) => {
const receivedData = req.body;
console.log('Received data:', receivedData);
res.json({ message: 'Data received', receivedData });
});
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
console.log(`Server running on port ${PORT}`);
});
运行服务器
在命令行中运行以下命令启动服务器:
node server.js
前端(HTML + JavaScript)
接下来,我们将创建一个简单的HTML页面,使用AJAX请求从后端获取数据,并发送数据到后端。
创建HTML页面
创建一个名为index.html
的文件,并添加以下代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>AJAX and JSON Example</title>
</head>
<body>
<h1>AJAX and JSON Example</h1>
<button id="fetchData">Fetch Data</button>
<div id="data"></div>
<script src="script.js"></script>
</body>
</html>
创建JavaScript文件
创建一个名为script.js
的文件,并添加以下代码:
document.getElementById('fetchData').addEventListener('click', function() {
fetch('http://localhost:3000/api/data')
.then(response => response.json())
.then(data => {
document.getElementById('data').textContent = 'Name: ' + data.name + ', Email: ' + data.email;
})
.catch(error => console.error('Error:', error));
});
// 发送数据到后端
function sendData() {
const data = {
id: 2,
name: 'Jane Doe',
email: 'jane@example.com'
};
fetch('http://localhost:3000/api/data', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(data),
})
.then(response => response.json())
.then(data => console.log('Success:', data))
.catch((error) => console.error('Error:', error));
}
运行前端
打开index.html
文件在浏览器中查看结果。点击“Fetch Data”按钮将从后端获取数据,并显示在页面上。你也可以在script.js
中调用sendData
函数来发送数据到后端。
这个例子展示了如何使用AJAX和JSON在前后端之间进行数据交换。你可以根据实际需求调整后端API和前端代码。
热门推荐
冠心病支架术后,定期复查都查啥?
主打松弛感和性价比的"县域乡村游"如何火下去?
中国连续两个月增持黄金 专家:中期趋势犹在建议标配
深圳地铁13号线最新进展:一期南段时刻表公布,北段、二期建设提速
老年题材微短剧火爆,内容精品化才能真解“老年人困境”
《乱马》第 1 集精彩片段:乱马简介、茜的愤怒和更多冒险
人口普查:全面了解我国人口发展状况
什么是OKR?如何通过OKR设定并达成卓越目标
评分高的谍战剧排行榜,《伪装者》垫底,第1高达9.4分
2025年考研英语作文备考文化交流主题句型
张作霖打仗真不行,奉军有多弱?大批日本军官参战都打不过吴佩孚
竖排文字示例
实用!手术后学会这样吃,为伤口愈合按下“加速键”
生娃遇上春节,产检是“必选项”还是“可选项”?
北京赏梅必去:五大美如画的梅花景点推荐
【CFD理论】零方程、一方程模型
Word里的选择性粘贴与粘贴有什么不同
比勤奋重要100倍的,是系统思考能力。这4个步骤,学会系统思考。
俄女排再添巨人选手,震惊世界,横扫排坛潜力无限
探秘中国文学宝藏:15位作家作品阅读指南!
2025十大提高记忆力的经典书籍 哪些书可以增强记忆
职业病诊断流程:从症状识别到诊断
牙齿是怎么补的?不同的补牙材料有哪些区别?
影视解说文案写作指南:结构、技巧与思路全解析
养肝护肝必不可少的六大营养素,医生告诉你
浅谈宋代建筑的艺术特点与风格
驾驶证等级分类
日本话八格牙路是什么意思?
英雄联盟-英雄背后的故事之圣枪游侠~卢锡安
粤剧艺术的美学特征