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和前端代码。
热门推荐
抖音热门歌曲深度解析,繁花——探寻只为花开那一瞬的动人旋律
喝水就打嗝是什么原因
阿玛仕1050和750的区别在哪里?
黑钙土的定义、形成原因及应用领域详解
大和号,二战日本海军最大的战列舰
阿玛仕1050和750的区别在哪里?
《哪吒2》中的教育启示:从动画电影中汲取成长智慧
宠物食品适口性测试方法研究
意外怀孕没吃叶酸怎么办?这些补救措施请收好
北京实习律师待遇探究:平均工资及福利解析
加密货币交易中的全仓与逐仓:如何选择适合自己的策略?
上海消保委携手美腕发布00后消费观新洞察:崇尚个性,力行环保,理性消费
2025东北地区优质大学推荐:哪些院校实力强?
实习律师工资水平探讨
月份五行相生相克表:十二个月份与五行的奥秘
新生儿洗澡需要放沐浴露吗
日语“干巴爹”:一个有趣的发音误读现象
告别凌乱!没有鞋柜的入户玄关这样设计,实用又美观!
带你了解抗氧化
低空经济万亿市场争夺战,eVTOL飞行汽车产业链的机遇与挑战
销售如何做好人设管理
高考物理类和历史类是什么意思?有什么区别?总分一样吗?
农民相互协商对换土地使用合法吗
电动车换新后,旧车牌照需要注销吗?会不会被人冒用?各地处理方案来了!
CPU买K还是买KF:深入解析
2025陕西新高考分数怎么算?高考物理赋分吗?英语听力计入总分吗?
潮玩游戏 大逃杀 游戏怎么玩 怎么设计cocoscreator开发
饮水机漏水怎么办?饮水机故障及解决方法大全
什么是直接金融以及其特点是什么?直接金融与间接金融的区别在哪里?
应用文写作课件-通知