vue读取服务器文件跨域,新版vue-cli模板下本地开发环境使用node服务器跨域的方法...

背景

我们都知道浏览器有一个既核心也最基本的安全功能,即同源策略。同源分别是:协议,域名,端口。如果浏览器访问服务器不同源的话,就会访问不到数据。那开发中常常访问的服务器不同源,那么可以借助一个服务器当做中介来访问需要访问的服务器从而获得数据。因为同源策略是浏览器的安全机制,而服务器之间是不受此限制的。之前vue-cli模板build文件夹下有dev-serve.js文件,可以在此文件中配置本地node服务器实现跨域,现在的模板下没有此文件,那我们该如何使用node跨域呢?不逼逼,上方法。

具体操作

1、在build文件夹下面新建一个dev-serve.js文件,其中添加代码如下:

'use strict'

const express = require('express')

const axios = require('axios')

module.exports = function () {

let app = express()

app.get('/api/getDiscList', (req, res) => {

let url = '请求地址'

axios.get(url, {

headers: {

//这里请求的是QQ音乐的接口,带上下面参数是为了骗服务器是自己人

referer: 'https://c.y.qq.com/',

host: 'c.y.qq.com'

},

params: req.query

}).then((response) => {

res.json(response.data)

}).catch((e) => {

console.log(e)

})

})

app.listen(3000)

}

2、在build.js中引入并且运行只需要在最上面添加 require('./dev-serve.js')()

当我们npm run dev运行项目的时候,node服务器就会启动自动监听3000端口

3.本地发送ajax请求,就可以通过node服务器访问到数据,请求我使用的是axios。请求如下:

import axios from 'axios'

function getDiscList() {

const data = {

//...请求参数

}

return axios.get('/api/getDiscList', {

params: data

}).then(res => {

return Promise.resolve(res.data)

})

}

请求到数据如下:

fcd38bece315f93ac725c6ad2cfc8a0c.png

ea68475eff538f413bca7b492c17aabd.png

结语

如此就简单实现了本地node服务器跨域,在开发环境下是可以请求到数据,但是npm run build 打包成静态文件后就失效了。路还很长,还请各位不吝赐教。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/528287.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一个账号可以登录几台机器_干货:一个PubMed账号可以有这么多用处!

且不说撰写一个综述类文章,就连平时的课题设计和汇报,都是动辄几十篇文献以上,那么,该如何管理这么多文献呢?笔者认为,一个PubMed账号足矣。我们都知道,在生物医药领域,PubMed这个文…

投票选举 算法_区块链主流共识算法一文全通

在每种伟大的加密货币背后,都有着一个伟大的共识算法。没有共识算法是完美的,但是它们各有千秋。在加密世界中,需要共识算法来防止重支付。这是迄今为止一些最流行的共识算法的简要介绍,从区块链到DAG以及介于两者之间的所有内容。…

clion 引用dll_用CLion实现本地方法并给java调用

众所周知,PHP是世界上最好的语言,java排第二,因为PHP无所不能。但是在某些场景下java还要调用本地方法来提高执行的效率,故java只能排第二。java提供了jni(Java Native Interface)来实现在java中调用本地方法。本地方法在java中用…

mysql没有创建数据库的权限设置_mysql 创建数据库,用户并给用户设置权限

mysql创建数据create database dataBaseName default charset utf8 collate utf8_general_ci; --创建数据库并设置字符集创建用户create user 用户名% identified by 密码; -- ‘%‘ 是该用户可以在任何机器上登录查询用户select user,host.password from mysql.user;给用户设置…

golang mysql封装_自己封装的golang 操作数据库方法

这个是我用Go写的第一个东东,可能还存在些BUG没有测试到。这里主要是提供一个参考。各位可以改写成自己的风格。在命令行下输入如下两条命令,进行安装go get github.com/male110/SimpleDbgo install github.com/male110/SimpleDbGo语言的数据库操作&…

mysql历史数据备份_Mysql存储过程历史表备份

原文:Mysql存储过程历史表备份应用背景SCADA采集系统需要将实时数据存入历史表。问题1:如何更简单的添加历史数据?2.海量历史数据,比如年数据,如何快速筛选 画曲线?利用mysql的事件,每小时存一次采集数据&a…

如何用js给图片重置宽_如何用js给老婆每天发情话

作者: 加百利真胖原文:https://juejin.cn/events/all一、引言最近家里添了小孩,在家带娃陪产了一些天,深刻体会到老婆带孩子的辛苦。工作的时候不能在家陪她,就想着写个程序,每天固定在固定时间给她发一些情话,好让她在…

世界手机号码格式_世界上手机号码最长的国家是中国,最短的是哪个国家?

现在手机普及率非常之高,基本上人手至少一个手机,那么哪个国家的手机号码最长呢?其实世界上最长的电话号码,是11位数的中国手机号码。为什么手机号码是11位呢?1、号码格式决定我们的手机号可以分为三段,都有…

dockers log查询dockers的文件_Tomcat PUT方法任意文件上传

漏洞背景:tomcat(7.0.0-7.8.1)服务器,开启了HTTP PUT请求方法,web.xml文件中的readonly值设置未false漏洞环境:使用vulhub环境,直接dockers安装安装成功:安装vulhub详见:https://vulhub.org/#/index/漏洞利…

vue替换全部符合’字符串_技术成长日记-Vim实用技巧-4.7查找替换

1. 普通查找/ 向下查找? 向上查找n 查找下一个目标字符串N 查找上一个目标字符串q/ 回溯查找历史,输入该命令后会在状态栏上方显示一个查找历史回溯窗口,如图4.1: 图4.1 回溯查找历史可以选择之前执行过的查找,也可以在最后一行回…

bex5 mysql_bex5 库存系统的增删改查等功能对MYSQL数据库的维护操作 Windows Develop 276万源代码下载- www.pudn.com...

文件名称: bex5下载 收藏√ [5 4 3 2 1 ]开发工具: Java文件大小: 99 KB上传时间: 2017-05-18下载次数: 0提 供 者: 张天详细说明:库存系统的增删改查等功能对MYSQL数据库的维护操作- U5E93 u5B58 u7CFB u7EDF文件列表(点击判断是否您需要的文件,如…

excel导入mysql 截断_解决Excel导入数据库时出现的文本截断问题

问题在把Excel导入到数据库中时,发生文本截断问题:即导入的数据每行只有一部分,原始的Excel数据为:忽略错误导入SQLServer2008过程中,如果源数据和目标数据类型不匹配会导入失败,所以导入数据时会忽略错误&…

mysql表添加完整性约束_SQL语句——完整性约束

1.MySQL支持的完整性约束a.主键约束特点:唯一且非空主键可以由一个字段组成,也可以由多个字段组成如果主键由一个字段组成,既可以添加到列级,也可以添加到表级。如果主键由多个字段组成,则只能添加到表级。(1)在字段的…

通信线路工程验收规范 gb51171-2016_老杨一建通信学堂通信线路工程施工技术

引言:本章节以通信线路工程施工建设为主题,涵盖通信光(电)缆施工通用技术、架空、直埋、管道还有综合布线工程施工技术,深入浅出介绍通信线路工程建设中各环节的工作内容和涉及的相关规范。知识归纳卡名 称:1L412050 章 节…

python制作测试报告_使用 python 生成 extent report 测试报告

背景一直使用 HTMLTestRunner 生成 app 自动化的测试报告内容,虽然加了截图的展示,还是感觉报告不够好看。allure 报告内容可以,但是要以 pytest 管理测试 case,且 pytest 会执行所有以 test_命名的 case,测试结果只有…

twisted mysql_在Twisted下用MySQLadbapi获取自增id

D jango的ORM有一个很便捷的功能,其实也应该说是一个很基本的功能吧。就是在对一个model调用 save() 插入到数据库后,会将创建的D jango的ORM有一个很便捷的功能,其实也应该说是一个很基本的功能吧。就是在对一个model调用 save() 插入到数据…

java客户端_Java常用的Http client客户端

Http Client应用场景:Http协议是最重要的网络协议之一,目前移动端的开发、javaweb前后端分离架构,使越来越多的java应用使用http协议访问资源。Http client 大多数场景使用在多个服务之间相互调用rest api,特别是现在微服务架构的…

android jni 调用java对象_Android NDK开发之Jni调用Java对象

本地代码中使用Java对象通过使用合适的JNI函数,你可以创建Java对象,get、set 静态(static)和 实例(instance)的域,调用静态(static)和实例(instance)函数。JNI通过ID识别域和方法,一个域或方法的ID是任何处理域和方法的函数的必须…

docker 容器端口访问不到_docker容器无法访问宿主机端口的解决

最近在工作时遇到一个问题,docker容器无法访问宿主机的redis,telent6379端口不通。 经排查发现,该服务器启用了防火墙,防火墙把6379的端口的访问授权给docker0网卡访问即可。 操作如下: firewall-cmd --permanent --zone=trusted --change-interface=docker0 firewall-cmd…

java class isassignablefrom_Java之——Class的isAssignableFrom方法

转载请注明出处 https://blog.csdn.net/l1028386804/article/details/80508540Class的isAssignableFrom方法定义如下public native boolean isAssignableFrom(Class ? cls);由方法签名可见是一个本地方法 即C代码编写的。以下是JDK中的注释Determines if the class or interfa…