最近新接了一个项目,需要自己写一个小demo和后端联调,第一次用自己写的demo和后端联调,出现了问题。

问题:Access to XMLHttpRequest at ‘http://192.168.0.78:8080’ from origin ‘http://192.168.0.79:2022’ has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’ header is present on the requested resource.

vue向后端发送请求时时,被浏览器CORS阻止。

跨域指浏览器不允许当前页面的所在的源去请求另一个源的数据。源指协议,端口,域名。只要这个3个中有一个不同就是跨域。

我们使用axios解决跨域问题。

1.安装axios

在控制台npm install axios

在main.js中加入这两行代码

import axios from 'axios'
Vue.prototype.$axios = axios

大功告成,接下来就可以使用axios了。

2.解决跨域问题

首先在config下的index.js文件中添加代码:

 proxyTable: {'/api': {target: 'http://192.168.0.79:2022',changeOrigin: true,pathRewrite: {'^/api': ''},onProxyReq: function (proxyReq, req, res) {// 实在不知道代理后的路径,可以在这里打印出出来看看2console.log('原路径1:' + req.originalUrl, '代理路径1:' + req.path)}}},

在vue-cli3的版本中,webpack的配置文件会被隐藏,所以我们找不到config文件夹,就只需要把地址配置到vue.config.js文件,配置内容如下:

module.exports = {devServer: {// 端口号port: 3000,// 配置不同的后台API地址proxy: {'/api': {target: 'http://192.168.0.84:2022',// ws: false,changeOrigin: true,pathRewrite: {'^/api': ''}}}}
}

然后需要在main.js中添加:

axios.defaults.baseURL = '/api' 

接着配置nginx代理(conf/nginx.conf):

    server {# 监听端口listen       8080;# 监听域名server_name  localhost;#charset koi8-r;#access_log  logs/host.access.log  main;#请求头信息proxy_set_header X-Forwarded-Host $host;proxy_set_header X-Forwarded-Server $host;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header Host $host;location /api  {# 代理的地址proxy_pass http://192.168.0.79:2022/api;proxy_connect_timeout 600;proxy_read_timeout 600;}

然后问题就成功解决啦

解决vue项目中前后端交互的跨域问题、nginx代理配置相关推荐

  1. Vue+Flask前后端分离 Vue3跨域配置

    Vue+Flask前后端分离 Vue3跨域配置 前端端口号为8080 后端端口号为5000 问题描述 问题解决 接口路径映射 前端端口号为8080 后端端口号为5000 后端端口API 代码片. @a ...

  2. 【前端44_前后端交互_跨域】前端解决:JSONP、后端解决:CORS 、后端代理

    文章目录 跨域 什么是跨域 前端解决: JSONP 实现原理 步骤 前端:创建标签,拼接传递参数 后端:接收值,返回值 封装 Ajax 代码 在封装的 Ajax 中添加 JSONP 需求 思路 练习: ...

  3. 血淋淋的教训—将Vue项目打包成app的跨域问题

    1 devServer: { 2 host: '192.168.1.58', 3 port: 9999, 4 historyApiFallback: true, 5 noInfo: true, 6 o ...

  4. Vue项目-喵喵电影-打包跨域问题

    最近跟着老师的教程做了一个vue的实战项目--喵喵电影. 先放几张图,看看你学的是不是和我一样. 一路顺风顺水,最后打包出来,老师用nginx解决的跨域问题. 吐槽一下,自己写的后台就不能允许跨域吗? ...

  5. 解决Vue开发过程中与后台服务器跨域问题

    可以通过vue.config.js文件来配置使用逆向服务器 // Vue.config.js文件 module.exports = {devServer: {proxy: 'http://localh ...

  6. VUE进行前后端交互

    目录 一. 跨域 1. 什么是跨域? 2. 什么是本域? 3. 浏览器请求的三种报错 二.SpringBoot解决跨域问题+其他前后端跨域请求解决方案 1. SpringBoot上直接添加@Cross ...

  7. 完美解决vue项目中弹出框滑动时,内部页面也跟着滑动问题

    完美解决vue项目中弹出框滑动时,内部页面也跟着滑动问题 参考文章: (1)完美解决vue项目中弹出框滑动时,内部页面也跟着滑动问题 (2)https://www.cnblogs.com/qhanti ...

  8. 解决vue项目eslint校验 Do not use ‘new‘ for side effects 的两种方法

    解决vue项目eslint校验 Do not use 'new' for side effects 的两种方法 参考文章: (1)解决vue项目eslint校验 Do not use 'new' fo ...

  9. 解决java前后端分离端口跨域问题

    解决java前后端分离端口跨域问题 参考文章: (1)解决java前后端分离端口跨域问题 (2)https://www.cnblogs.com/mollie-x/p/10449686.html 备忘一 ...

最新文章

  1. 通过data:image/png;base64把图片直接写在src里
  2. asp.net core系列 53 IdentityServer4 (IS4)介绍
  3. U.S.News最新美国大学排名:普林斯顿蝉联总榜第一,MIT领跑计算机,弗罗里达成新贵...
  4. 1059 Prime Factors (25 分)【难度: 一般 / 知识点: 分解质因子 】
  5. 【ARM】Tiny4412裸板编程之MMU简介
  6. 小程序微信授权登录服务器异常,解决调试腾讯云微信小程序Demo错误“登录失败:调用鉴权服务失败#40029_WEIXIN_CODE_ERR”...
  7. 怎样获取不同域名的ifram的html,AJAX | iframe跨域的实现方法
  8. 从零开始掌握Python机器学习(附不可错过的资源)
  9. 统计学考试带计算机,统计学试题
  10. 腾讯X5WebView集成使用
  11. android p正式版一加6,一加6T出厂搭载Android P 将于11月5日发布tokyo hot n0727
  12. 论文解读《TS-m6A-DL:使用通用深度学习模型对n6-甲基腺苷位点进行组织特异性识别》
  13. Alexa 世界排名推进工具--阿雷克斯(转)
  14. 名人名言摘选-李嘉诚
  15. linux硬盘的两个分区合并_linux新加硬盘合并
  16. linux cad 安装教程视频,在Deepin Linux系统中安装Freecad后再安装assembly2插件的方法...
  17. Android会议室管理app
  18. html 向上滑动,jQuery - 使用.slideUp()方法向上滑动HTML元素
  19. 计算机网络连接无线局域网,电脑如何连接无线局域网
  20. Dell戴尔笔记本电脑G3 3779原装出厂Windows10系统恢复原厂oem系统

热门文章

  1. 3D动画旋转rotateZ和rotate3d()用法(24)
  2. GEM5是加载workload的(上)
  3. 找出1到n的守形数c语言,循环结构
  4. 做漂亮女人的每天八件大事
  5. 【Jupyter Notebook】Jupyter Notebook折叠代码块+代码提示
  6. 判断一个数值是否为正数、负数、零、整数。
  7. 4万字【Python高级编程】保姆式教学,进阶感觉到吃力?学完这些就轻松了
  8. ALIENTEK所有开发板的FreeRTOS教程和例程
  9. 聊聊云原生的12要素
  10. keill5中用JLINK下载与调试程序