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


Posted in Javascript onOctober 10, 2017

自己在做个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中使用express+fetch获取本地json文件

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
用JavaScript获取网页中的js、css、Flash等文件
Dec 20 Javascript
JavaScript 对象、函数和继承
Jul 07 Javascript
JavaScript 继承详解(二)
Jul 13 Javascript
基于Jquery 解决Ajax请求的页面 浏览器后退前进功能,页面刷新功能实效问题
Dec 11 Javascript
Javascript在IE和FireFox中的不同表现简析
Dec 03 Javascript
jquery实现邮箱自动补全功能示例分享
Feb 17 Javascript
Spring mvc 接收json对象
Dec 10 Javascript
解决拦截器对ajax请求的拦截实例详解
Dec 21 Javascript
基于bootstrap的选择框插件icheck
Dec 23 Javascript
Angular2生命周期钩子函数的详细介绍
Jul 10 Javascript
node+express+ejs使用模版引擎做的一个示例demo
Sep 18 Javascript
使用vue.js在页面内组件监听scroll事件的方法
Sep 11 Javascript
vue router自动判断左右翻页转场动画效果
Oct 10 #Javascript
angular2 ng2 @input和@output理解及示例
Oct 10 #Javascript
ionic选择多张图片上传的示例代码
Oct 10 #Javascript
详解ionic本地相册、拍照、裁剪、上传(单图完全版)
Oct 10 #Javascript
防止页面url缓存中ajax中post请求的处理方法
Oct 10 #Javascript
Vue实现数字输入框中分割手机号码的示例
Oct 10 #Javascript
JS判断数组那点事
Oct 10 #Javascript
You might like
php实现在多维数组中查找特定value的方法
2015/07/29 PHP
通过修改配置真正解决php文件上传大小限制问题(nginx+php)
2015/09/23 PHP
php中preg_replace正则替换用法分析【一次替换多个值】
2017/01/17 PHP
PHP使用HTML5 FileApi实现Ajax上传文件功能示例
2019/07/01 PHP
javascript  Error 对象 错误处理
2008/05/18 Javascript
JQuery打造PHP的AJAX表单提交实例
2009/11/03 Javascript
实用的Jquery选项卡TAB示例代码
2013/08/28 Javascript
Jquery创建一个层当鼠标移动到层上面不消失效果
2013/12/12 Javascript
jQuery获取选中内容及设置元素属性的方法
2014/07/09 Javascript
json的使用小结
2016/06/08 Javascript
原生javascript实现的ajax异步封装功能示例
2016/11/03 Javascript
JavaScript实现数组降维详解
2017/01/05 Javascript
用jquery的attr方法实现图片切换效果
2017/02/05 Javascript
JavaScript条件判断_动力节点Java学院整理
2017/06/26 Javascript
Vue中自定义全局组件的实现方法
2017/12/08 Javascript
详解VueJs中的V-bind指令
2018/05/03 Javascript
JS根据json数组多个字段排序及json数组常用操作
2019/06/06 Javascript
前端Vue项目详解--初始化及导航栏
2019/06/24 Javascript
JQuery实现简单的复选框树形结构图示例【附源码下载】
2019/07/16 jQuery
Vue内部渲染视图的方法
2019/09/02 Javascript
js在HTML的三种引用方式详解
2020/08/29 Javascript
使用Vant完成DatetimePicker 日期的选择器操作
2020/11/12 Javascript
Python实现简单的语音识别系统
2017/12/13 Python
Python 项目转化为so文件实例
2019/12/23 Python
Pytorch使用MNIST数据集实现CGAN和生成指定的数字方式
2020/01/10 Python
详解Python修复遥感影像条带的两种方式
2020/02/23 Python
python下对hsv颜色空间进行量化操作
2020/06/04 Python
Reebok俄罗斯官方网上商店:购买锐步运动服装和鞋子
2016/09/26 全球购物
三八妇女节活动主持词
2014/03/17 职场文书
店铺转让协议书
2014/12/02 职场文书
2015年全国科普日活动总结
2015/03/23 职场文书
经济纠纷起诉状
2015/05/20 职场文书
新教师教学工作总结
2015/08/14 职场文书
详解vue中v-for的key唯一性
2021/05/15 Vue.js
Pyhton爬虫知识之正则表达式详解
2022/04/01 Python
Go调用Rust方法及外部函数接口前置
2022/06/14 Golang