数据共享无难事,XMLHttpRequest + JSON Server 轻松搞定
2023-12-22 14:51:59
简介
XMLHttpRequest(以下简称XHR)是一个在客户端和服务器之间发送 HTTP 请求的 JavaScript API。它可以用来从服务器端获取数据,也可以用来向服务器端发送数据。
JSON Server 是一个轻量级的 Node.js 库,它可以帮助我们快速搭建一个 RESTful API。我们可以使用 JSON Server 来模拟一个服务器端,以便我们进行前端开发。
使用 XHR 和 JSON Server 构建 SPA
- 搭建 JSON Server
首先,我们需要安装 JSON Server。我们可以使用以下命令进行安装:
npm install -g json-server
安装完成后,我们可以使用以下命令启动 JSON Server:
json-server --port 3000 --watch db.json
这个命令将启动一个 JSON Server 实例,它将在端口 3000 上监听 HTTP 请求。同时,它还会监视 db.json 文件,如果该文件发生变化,JSON Server 将自动重新加载数据。
- 编写前端代码
接下来,我们需要编写前端代码。首先,我们需要创建一个 HTML 文件,并在其中包含以下代码:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<h1>数据共享无难事</h1>
<ul id="data-list"></ul>
<script src="script.js"></script>
</body>
</html>
然后,我们需要创建一个 script.js 文件,并在其中包含以下代码:
const xhr = new XMLHttpRequest();
xhr.open('GET', 'http://localhost:3000/data');
xhr.onload = function() {
if (xhr.status === 200) {
const data = JSON.parse(xhr.responseText);
const dataList = document.getElementById('data-list');
for (const item of data) {
const li = document.createElement('li');
li.textContent = item.name;
dataList.appendChild(li);
}
} else {
console.error('请求失败');
}
};
xhr.send();
这段代码首先创建一个 XHR 对象,然后使用该对象向 JSON Server 发送一个 GET 请求。如果请求成功,我们将得到一个 JSON 响应。我们将该 JSON 响应解析成 JavaScript 对象,然后将其显示在页面上。
- 运行程序
最后,我们可以使用以下命令来运行程序:
python -m http.server 8000
这个命令将在端口 8000 上启动一个 HTTP 服务器。我们可以使用浏览器访问 http://localhost:8000 来查看我们的应用程序。
结语
通过本文,我们学习了如何使用 XHR 和 JSON Server 来构建一个简单的 SPA。这种方式可以帮助我们轻松实现数据通信和共享。希望本文对大家有所帮助。