IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Vue-cli3+Springboot解决跨域的问题 -> 正文阅读

[Java知识库]Vue-cli3+Springboot解决跨域的问题

????????在使用Vue+Springboot框架,前后端分离时,我们会遇到跨域的问题,也就是当你前端发送请求的时候,会报错:

Access to XMLHttpRequest at ‘http://xxxx.com/xxx’ from origin ‘null’ has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’ header is present on the requested resource.

当在网页的控制台(console)上显示这个错误的时候就是出现跨域的问题了

那么跨域问题是什么呢?

跨域问题就是浏览器从一个域名的网页去请求另一个域名的资源时,域名、端口、协议任一不同,都是跨域

那么在这个框架下我们怎么解决跨域问题呢?

1、首先需要在vue-config.js里面的proxy里面添加配置,具体vue-config.js文件的配置,在我的另一篇文章中有讲解,附上链接:https://blog.csdn.net/weixin_51043896/article/details/119548881?spm=1001.2014.3001.5501

这里就讲proxy里面的配置了

devServer: {
        /* 自动打开浏览器 */
        open: false,
        /* 设置为0.0.0.0则所有的地址均能访问 */
        host: '0.0.0.0',
        port: 8080,
        https: false,
        hotOnly: false,
        /* 使用代理 */
        proxy: {
            '/api': {
                target: 'http://localhost:8443', //后端地址
                ws: true,//是否代理websockets
                changeOrigin: true,
                pathRewrite: {
                    '^/api': ''
                }
            }
        }
    },

其中第一个api相当于 "/api"=="http://localhost:8443",相当于一个替代作用,“/api"等价于target

然后changeOrigin就是用来设置跨域的,当写上true就表示允许跨域。

第二个api,举个例子前端axios发送的请求到"/addbook",后端如果要接收则需要写"api/addbook"

例如PostMapping(value = ”api/addbook")这样才可以处理前端发出的请求

以上是前端的配置

后端的配置就简单一点除了必要的@ResponseBody注解以外还要加上@CrossOrigin,在你需要跨域的方法或者类上加上这个注解就可以实现跨域的功能了。

代码展示


@Controller
@CrossOrigin
public class borrowController {
    @Autowired
    borrowService borrowService;
    @PostMapping(value = "api/borrow")
    @ResponseBody
    public Result borrow(@RequestBody bookBorrowing requestb) {
        bookBorrowing bookBorrowing = new bookBorrowing();
        bookBorrowing.setStudentCode(requestb.getStudentCode());
        bookBorrowing.setBookName(requestb.getBookName());
        bookBorrowing.setBorrowDate(requestb.getBorrowDate());
        if (bookBorrowing.getStudentCode() != null && bookBorrowing.getBookName() != "") {
            borrowService.add(bookBorrowing);
            return new Result(200);
        } else {
            return new Result(400);
        }
    }

如果有什么说得不够清楚或者说的不对,还请各位补充和斧正~~

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-08-12 16:28:00  更:2021-08-12 16:29:51 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年5日历 -2025/5/1 20:40:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码