当前位置: 首页 > news >正文

前后端分离项目跨域请求

一、前端vue项目

在项目中创建request.js文件,添加以下内容

import axios from "axios";
const api = axios.create({  //这里配置的是后端服务提供的接口baseURL: "http://localhost:8080/web-demo",timeout: 1000}
);
export default api;

在main.js中添加

import {createApp} from 'vue'
import App from './App.vue'
import router from './route/index'  // 导入路由器
import axios from './request' //引入request.js// 超时时间是5秒
axios.defaults.timeout = 5000;
// 当前请求为跨域类型时是否在请求中协带cookie
axios.defaults.withCredentials = truelet app=createApp(App)
app.use(router) // 使用路由
app.provide("$axios", axios);
app.mount('#app')
//配置axios的全局引用
app.config.globalProperties.$axios = axios;

xxx.vue中使用方式:

api({url: "/book/delBook", // 服务端地址method: "post", // 请求方式params: {"ids": ids} // 携带参数}).then((res) => { // 成功触发函数res.data // 服务端返回的json数据 });

二、Servlet项目解决跨域请求问题

使用过滤器对响应头进行设置

package com.buba.filter;import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;/*** @author 杨柳* @title MyFilter 对跨域请求进行设置* @date 2023/11/28 14:32*/
@WebFilter("/*")
public class MyFilter implements Filter {@Overridepublic void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {HttpServletRequest req = (HttpServletRequest) request;HttpServletResponse resp = (HttpServletResponse) response;// 当前端携带cookie时,这里的值不能设置成*resp.setHeader("Access-Control-Allow-Origin", req.getHeader("origin"));resp.setHeader("Access-Control-Allow-Methods", "POST, GET, PUT, OPTIONS, DELETE");resp.setHeader("Access-Control-Max-Age", "3600");resp.setHeader("Access-Control-Allow-Headers", "x-requested-with, Content-Type");resp.setHeader("Access-Control-Allow-Credentials", "true");chain.doFilter(request, response);}
}

http://www.lryc.cn/news/254405.html

相关文章:

  • OpenEuler系统桌面终端设置字体
  • repo常用命令解析(持续更新)
  • 关于小红书商单变现的一些答疑
  • 使用 Kubernetes Agent Server 实现 GitOps
  • Day12 qt QMianWindow,资源文件,对话框,布局方式,常用ui控件
  • Python实现广义线性回归模型(statsmodels GLM算法)项目实战
  • GNSEC 2022年第8届全球下一代软件工程线上峰会-核心PPT资料下载
  • nVisual能为数据中心解决什么问题?
  • Android--Jetpack--Databinding详解
  • Node.js入门指南(完结)
  • MySQL和Java通用加密解密方式
  • 若依前端APP版使用教程
  • 2023 年工程师不可错过的 AI 主要发展趋势
  • 记录 | 安装地平线工具链install_ai_toolchain.sh出现cython版本问题报错解决
  • Java8流操作
  • vue-socket.io以及原生websocket的使用
  • 谷歌推出功能最强大的大语言模型Gemini;大规模语言模型:从理论到实践
  • Android studio 工程的 module 依赖关系图绘制 、 Android Module 依赖关系的可视化实现
  • Qt之QGraphicsView —— 笔记1.2:将QGraphicsView放置主窗口上,绘制简单图元(附完整源码)
  • linux的权限管理
  • 什么是 performance_schema ?
  • 软件多开助手的创新使用:在同一设备上玩转多个游戏
  • [linux] 输出文本文件的最后一列并去重
  • 新能源车交直流充电解释
  • Failed to connect to gitee.com port 443: Time out 连接超时提示【Bug已完美解决-鸿蒙开发】
  • 【开源】基于Vue+SpringBoot的智慧家政系统
  • javaee实验:文件上传及拦截器的使用
  • 二分查找19(Leetcode540有序数组中的单一元素)-1
  • 字节开源的netPoll底层LinkBuffer设计与实现
  • 《点云进阶》专栏文章目录