当前位置: 首页 > 编程笔记 >

详解vue中使用express+fetch获取本地json文件

韩单弓
2023-03-14
本文向大家介绍详解vue中使用express+fetch获取本地json文件,包括了详解vue中使用express+fetch获取本地json文件的使用技巧和注意事项,需要的朋友参考一下

自己在做个vue小demo的时候,想模拟从服务器获取json数据的过程,一开始的想法是使用fetch直接获取本地的json文件,无论是install了json-loader还是把json文件放在index.html的目录下或webpck.config.js里output的目录下,但是fetch一直报找不到文件。然后决定用fetch向express服务器发送请求,由服务器返回json数据。

express服务器

先写一个简单的express服务器,只有一个接口,起到示例作用就行了。back.js如下:

var express = require('express')
var app = express();
var allowCrossDomain = function(req, res, next) {//设置response头部的中间件
res.header('Access-Control-Allow-Origin', 'http://localhost:8089');//8089是vue项目的端口,这里相对于白名单
res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE');
res.header('Access-Control-Allow-Headers', 'Content-Type');
res.header('Access-Control-Allow-Credentials','true');
next();
};
app.use(allowCrossDomain);
app.get("/api/data",function (request,response) {
var data = require('./grid.json');//要获取的json文件
response.send(data);
})
app.listen('3000',function () {
console.log('>listening on 3000')
});

然后使用命令node back.js就可以运行这个服务了。

fetch获取json数据

用语接受请求的服务器已经运行起来了,接下来就是使用fetch来发送请求了,如下代码段就可以完成请求功能:

fetch( "http://localhost:3000/api/data")
.then(res=>res.json())
.then(data=>console.log(data))
.catch(function (e) {
console.log('oops! error:',e.message)
})

此时就可以顺利获取想要的json数据了

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍在vue-cli3中使用axios获取本地json操作,包括了在vue-cli3中使用axios获取本地json操作的使用技巧和注意事项,需要的朋友参考一下 在vue-cli3中,公共文件夹由static变成了public 先把要访问的json放到public文件夹下 使用axios的get方法获取,不能用post,不然会报404 补充知识:两个不同的路由,引入相同的组件 从不同的按

  • 问题内容: 我正在尝试使用Jquery从本地文件中获取JSON对象(产品)的列表,并将所有对象存储在称为allItems的单个数组中。该文件与代码位于同一目录中,称为“ allItems.json”。这是我现在的做法: 基于此示例:http : //api.jquery.com/jQuery.getJSON/ 问题答案: 为了能够返回任何项目,AJAX调用需要同步运行。 转换为以下异步调用: 异步

  • 本文向大家介绍Vue 实现从文件中获取文本信息的方法详解,包括了Vue 实现从文件中获取文本信息的方法详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Vue 实现从文件中获取文本信息的方法。分享给大家供大家参考,具体如下: 最近在使用vue做项目的时候,遇到一个需求,界面中需要显示大量的说明文字,为了保持界面的整洁和赶紧,决定采用单独的文件来存储显示信息,然后通过文件读取的方式显示到界

  • 我试图从json文件中获取img src属性,但没有显示图像,也没有显示替代文本。我确信这些图像在src/assets目录中找到,它们的名称是正确的。 这是组件: 以及以下观点: projects.json文件: 那么我的错误在哪里?

  • 本文向大家介绍详解vue 中使用 AJAX获取数据的方法,包括了详解vue 中使用 AJAX获取数据的方法的使用技巧和注意事项,需要的朋友参考一下 在VUE开发时,数据可以使用jquery和vue-resource来获取数据。在获取数据时,一定需要给一个数据初始值。 看下例: 这里必须设置 vue的data的初始数据,即使此时数据为空。 在使用ajax获取数据时,使用vue-resource 更加

  • 本文向大家介绍详解vue-router基本使用,包括了详解vue-router基本使用的使用技巧和注意事项,需要的朋友参考一下 路由,其实就是指向的意思,当我点击页面上的home  按钮时,页面中就要显示home的内容,如果点击页面上的about 按钮,页面中就要显示about 的内容。Home按钮  => home 内容, about按钮 => about 内容,也可以说是一种映射。 所以在页面