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和前端代码。
热门推荐
浅谈教师如何有效备课?
小白初入酒吧怎么选?这些酒款建议你收藏!
宝宝能吃马蹄吗?营养丰富且抗菌消炎,但需注意食用安全
网络技术推广服务合同书的法律分析与实践指南
Nature子刊丨代谢干预——治疗肾脏纤维化的新希望?
2024香港身份,从头到尾申请攻略(政策+6种途径+申请利弊+永居)
汽车自动驾驶 L0 - L5 级技术解析
吃钙片能吃橘子吗
皇宫之中,对大小嫔妃的管理有多严格?见父母一面简直比登天都难
破局与新生:比特币、黄金和美元的避险进化论
线性代数中的投影理论与应用
填简历个人特长怎么写
猎头公司如何进行高效的候选人沟通?
氦氖激光器频率、优缺点及应用领域是那些?
小学英语词汇教学的策略与方法
超热闹!梅州“嘉应古城闹元宵”
黑字旁加一个今念什么字?“黔”字的读音、释义及用法详解
评剧《杨三姐告状》:经典背后的艺术与社会映照
欧洲的双面性,聊聊那些欧洲最穷的国家
喝茶能解酒?关于喝茶的6大流言,你中过几个!
孩子习惯用左手是个左撇子,要帮他纠正吗?
正确祛除粉刺的方法 教你科学护肤步骤
酒钢宏兴发布2024年度业绩预告:预计亏损24.38亿元
马斯克“跨界”政坛遇道德法坎,政府新角色利益冲突何解?
2024年中文说唱十佳专辑榜单:多平台数据交叉对比
北斗导航覆盖范围:全球影响与中国智慧
呕吐不断、狂拉肚子?近期高发,医生教你这样应对→
夫妻离婚时保险要如何分割财产
商鞅变法与秦朝的崛起
天涯社区破产,网络论坛为何难赚钱?