HTTP 请求

收藏955

阅读14087

更新时间2025-08-22

'fetch' 方法

要从 Vue 中的服务器获取数据,我们可以使用 JavaScript fetch() 方法。

当我们在本教程中使用 fetch() 方法时,我们不会指定HTTP请求方法,这意味着后台使用默认的 GET 请求方法。

fetch() 方法需要一个 URL 地址作为参数,以便它知道从哪里获取数据。

这是一个简单的示例,它使用 fetch() 方法发送 HTTP GET 请求,并接收数据作为 HTTP 响应。 本例中请求的数据是本地文件 file.txt 中的文本:

示例

App.vue:




运行示例 »

在上面的例子中,我们只得到"[object Promise]"作为结果,但这不是我们想要的。

我们得到这个结果是因为 fetch() 是一个基于 Promise 的方法,它返回一个 Promise 对象。 因此,fetch() 方法给出的第一个返回只是一个对象,这意味着 HTTP 请求已发送。 这是"pending"(待处理)状态。

fetch() 方法真正获取到我们想要的数据时,承诺就得到了履行。

要等待响应完成,并获取我们想要的数据,我们需要在 fetch() 方法前面使用 await 运算符:

const response = await fetch("file.txt");

当方法内部使用 await 运算符时,需要使用 async 运算符声明该方法:

async fetchData() {
  const response = await fetch("file.txt");
  this.data = response;
}

async 运算符告诉浏览器该方法是异步的,这意味着它正在等待某些事情,浏览器可以在等待该方法完成的同时继续执行其他任务。

现在我们得到的是一个"Response",而不再只是一个"Promise",这意味着我们离获取 file.txt 文件中的实际文本又近了一步:

示例

App.vue:




运行示例 »

要获取 file.txt 文件中的文本,我们需要在响应上使用 text() 方法。 由于 text() 方法是基于 Promise 的方法,因此我们需要在其前面使用 await 运算符。

终于! 现在我们已经有了使用 fetch() 方法从 file.txt 文件中获取文本所需的内容:

示例

App.vue:




运行示例 »

从 JSON 文件中获取数据

在前面的示例中,我们从 .txt 文件中获取文本。 但是存储数据的方法有很多,现在我们将了解如何从 .json 文件中获取信息。

JSON 是一种易于使用的常见文件格式,因为数据以文本形式存储,因此易于人类阅读,并且 JSON 格式也受到编程语言的广泛支持,因此我们可以,例如 ,指定从 .json 文件中提取哪些数据。

要从 .json 文件读取数据,我们需要对上面的示例做的唯一更改是获取 .json 文件,并在响应中使用 json() 方法而不是 text() 方法。

json() 方法读取 HTTP 请求的响应并返回 JavaScript 对象。

我们在这里使用

 标签来显示 JSON 格式的文本,因为它保留空格和换行符,以便更容易阅读。

示例

App.vue:




运行示例 »

由于 json() 方法的结果是一个 JavaScript 对象,因此我们可以修改上面的示例以显示 bigLandMammals.json 文件中的随机动物:

示例

App.vue:




运行示例 »

来自 API 的数据

API 代表 Application Programming Interface。 您可以此处了解有关API的更多信息。

我们可以连接和使用许多有趣的免费 API,以获取天气数据、证券交易所数据等。

当我们通过 HTTP 请求调用 API 时得到的响应可以包含各种数据,但通常包含 JSON 格式的数据。

示例

单击按钮即可从 random-data-api.com API 获取随机用户。

App.vue:




运行示例 »

我们可以稍微修改一下之前的示例,以更加用户友好的方式包含随机用户:

示例

单击按钮时,我们会在

 标签中显示随机用户名,以及职位名称和图像。

App.vue:






运行示例 »

使用"axios"库在 Vue 中进行 HTTP 请求

"axios"JavaScript 库还允许我们发出 HTTP 请求。

要在您自己的计算机上创建并运行示例,您首先需要使用项目文件夹中的终端安装"axios"库,如下所示:

npm install axios

这就是我们如何使用 Vue 中的"axios"库来获取随机用户:

示例

仅对前面的示例进行一些小的更改,以使用"axios"库执行 HTTP 请求。

App.vue:






运行示例 »

相关

视频

RELATED VIDEOS

更多

免费

Web前端开发极速入门
初级 Web前端开发极速入门

219920次学习

收藏

免费

前端入门_HTML5
初级 前端入门_HTML5

616946次学习

收藏

免费

30分钟学会网站布局
初级 30分钟学会网站布局

238440次学习

收藏

免费

CSS视频教程-玉女心经版
初级 CSS视频教程-玉女心经版

393054次学习

收藏

免费

独孤九贱(1)_HTML5视频教程

免费

独孤九贱(6)_jQuery视频教程

免费

独孤九贱(7)_Bootstrap视频教程

免费

独孤九贱(2)_CSS视频教程
初级 独孤九贱(2)_CSS视频教程

229605次学习

收藏

精选课程

更多
前端入门_HTML5
前端入门_HTML5

共29课时

61.7万人学习

CSS视频教程-玉女心经版
CSS视频教程-玉女心经版

共25课时

39.3万人学习

JavaScript极速入门_玉女心经系列
JavaScript极速入门_玉女心经系列

共43课时

71万人学习

独孤九贱(1)_HTML5视频教程
独孤九贱(1)_HTML5视频教程

共25课时

61.6万人学习

独孤九贱(2)_CSS视频教程
独孤九贱(2)_CSS视频教程

共22课时

23万人学习

独孤九贱(3)_JavaScript视频教程
独孤九贱(3)_JavaScript视频教程

共28课时

33.9万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时

125万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号