关于Vue2.0,Express实现的简单跨域

npm install express -g

通过npm全局安装express,之后可以通过

express --version

来查看express版本

express server

通过express server生成server项目文件

npm install

安装server的项目依赖

可以通过执行server下的bin\www文件可以开启服务

在www文件我们可以默认监听的端口为3000

var port = normalizePort(process.env.PORT || ‘3000‘);

通过访问http://localhost:3000就可以看到Express的欢迎页。

在index文件,定义一个映射,请求这个地址( http://localhost:3000/test),返回一个简单的JSON

服务端暂时先结束。

通过vue-cli创建一个简单的项目,步骤见vue官方文档,再安装axios或者vue-resource进行ajax请求。

在main.js下,可以在mounted方法里实现一个get请求

mounted方法会在vue挂载完成后执行一次,详见vue的生命周期。

此时执行

npm run dev

通过8080端口可以访问vue页面,在控制台可以看到如下错误

页面并不能直接请求到不同端口的资源,这里需要实现一个跨域。

回到服务端

解决这个问题,我们可以借助cors包实现

npm install cors --save  

在app.js中,对cors进行配置,允许访问的域,请求,请求头

app.use(cors({
    origin:[‘http://localhost:8080‘],
    methods:[‘GET‘,‘POST‘],
    alloweHeaders:[‘Content-Type‘, ‘Authorization‘]
}));

重启服务后,可以看到数据被前端成功获取

不通过cors包,还可通过app.all进行配置

app.all(‘*‘,function (req, res, next) {
  res.header(‘Access-Control-Allow-Origin‘, ‘http://localhost:8080‘);
  res.header(‘Access-Control-Allow-Headers‘, ‘Content-Type‘);
  res.header(‘Access-Control-Allow-Methods‘, ‘PUT, POST, GET, DELETE, OPTIONS‘); next(); 
});
时间: 2024-08-30 08:21:35

关于Vue2.0,Express实现的简单跨域的相关文章

Vue2.0,Express实现的简单跨域

https://www.cnblogs.com/kevin-zjy-blog/p/7357220.html 1. 通过jsonp跨域2. document.domain + iframe跨域3. location.hash + iframe4. window.name + iframe跨域5. postMessage跨域6. 跨域资源共享(CORS)7. nginx代理跨域8. nodejs中间件代理跨域9. WebSocket协议跨域 那么就需要安装chrome浏览器的cors插件来解决开发环

·基于thinkphp5.0和百度编辑器UMeditor 跨域上传图片实现

1.下载两者源码: 2,简单配置 :   a. 一套thinkphp框架是显示前端界面,搭配编辑器环境.对应域名为 http://tp.com:  这是前端界面配置 但是还要修改一下umeditor.config.js 文件    这里配置那个URL ,我思考了很久         我是这么想的  本地站点域名配置到了www/tp5/public位置 ,现在是要实例编辑器加一个路径,而编辑器的文件位置就在public下面: 在此情况下 编辑器会在界面正常显示: 好接下来考虑的问题就是图片上传了.

VUE3.0升级与配置(跨域等)

1.检查本机vue版本 vue -V 2.升级vue3.0命令 npm install -g @vue/cli 3.创建完项目后,在项目根目录新增vue.config.js文件,插入代码(简洁) 1 module.exports = { 2 runtimeCompiler: true, //是否使用包含运行时编译器的 Vue 构建版本 3 publicPath: '', 4 productionSourceMap: false, //不在production环境使用SourceMap 5 dev

express 设置header解决跨域问题

//设置跨域访问 app.all('*', function(req, res, next) { res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Methods", "GET,HEAD,OPTIONS,POST,PUT"); // res.header("Access-Control-Allow-Head

nodejs+express的(前端跨域请求)

1.后端代码 var dp = 456; var back = 'callback(\{\dp\ : \ ' + dp + '\ }\)'; res.send(back); 2.前端代码 <script type="text/javascript"> function callback(data){ console.log(data); } </script> <script type="text/javascript" src=&qu

CORS跨域资源共享你该知道的事儿

"唠嗑之前,一些客套话" CORS跨域资源共享,这个话题大家一定不陌生了,吃久了大转转公众号的深度技术好文,也该吃点儿小米粥溜溜胃里的缝儿了,今天咱们就再好好屡屡CORS跨域资源共享这个话题,大牛怡情小牛巩固,把这碗前端经久不凉的大碗茶,再细细的品一品. "JSONP直接了当很豪爽,CORS细吮慢品大补汤" 在咱们前端的日常工作中,跨域比较常用的方式就是JSONP,JSONP呢就是通过script标签无同源限制的特点,在获取到需要的资源后自动执行回调方法的方式,而我

前端常见跨域解决方案(全)

什么是跨域? 跨域是指一个域下的文档或脚本试图去请求另一个域下的资源,这里跨域是广义的. 广义的跨域: 1.) 资源跳转: A链接.重定向.表单提交 2.) 资源嵌入: <link>.<script>.<img>.<frame>等dom标签,还有样式中background:url().@font-face()等文件外链 3.) 脚本请求: js发起的ajax请求.dom和js对象的跨域操作等 其实我们通常所说的跨域是狭义的,是由浏览器同源策略限制的一类请求场

前端常见跨域解决方案

什么是跨域? 跨域是指一个域下的文档或脚本试图去请求另一个域下的资源,这里跨域是广义的. 广义的跨域: 1.) 资源跳转: A链接.重定向.表单提交 2.) 资源嵌入:<link>.<script>.<img>.<frame>等dom标签,还有样式中background:url().@font-face()等文件外链 3.) 脚本请求: js发起的ajax请求.dom和js对象的跨域操作等 其实我们通常所说的跨域是狭义的,是由浏览器同源策略限制的一类请求场景

什么是跨域?

跨域是指一个域下的文档或脚本试图去请求另一个域下的资源,这里跨域是广义的. 广义的跨域: 1.) 资源跳转: A链接.重定向.表单提交 2.) 资源嵌入: <link>.<script>.<img>.<frame>等dom标签,还有样式中background:url().@font-face()等文件外链 3.) 脚本请求: js发起的ajax请求.dom和js对象的跨域操作等 其实我们通常所说的跨域是狭义的,是由浏览器同源策略限制的一类请求场景. 什么是同