java解决跨域问题

浏览器js在访问服务器中的资源时,会出现同一页面或者不同域名(协议,IP,端口)不可访问
例如:file://d://test.html页面(file协议)中通过ajax访问服务器api.test.com的接口(http协议),由于协议不同,此时会出现浏览器访问不了后台接口的问题
此时需要在服务器接口的请求头配置好,当浏览器访问时就会根据请求头判断是否可以访问

前端代码

<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title>跨域请求示例</title>
</head>
<body><button onclick="sendRequest()">发送请求</button><div id="result"></div><script>function sendRequest() {var xhr = new XMLHttpRequest();xhr.open('GET', 'http://localhost:8888/user/queryById?id=1', true);xhr.onreadystatechange = function() {if (xhr.readyState == 4 && xhr.status == 200) {document.getElementById('result').innerText = xhr.responseText;}};xhr.send();}</script>
</body>
</html>

调用后台接口时报错

补充跨域过滤

package com.example.demo.config;import org.springframework.stereotype.Component;import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;@Component
public class CorsFilter implements Filter {@Overridepublic void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {HttpServletResponse response = (HttpServletResponse) res;HttpServletRequest request = (HttpServletRequest) req;response.setHeader("Access-Control-Allow-Origin", "*");response.setHeader("Access-Control-Allow-Methods", "*");response.setHeader("Access-Control-Allow-Credentials", "true");response.setHeader("Access-Control-Allow-Headers", "Authorization,Origin,X-Requested-With,Content-type,Accept,Access-Token");response.setHeader("Access-Control-Max-Age", "3600");chain.doFilter(request, response);}
}

再次请求,可以正常得到结果

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

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

相关文章

U盘未格式化?数据恢复大揭秘!

在日常办公和生活中&#xff0c;U盘已成为我们不可或缺的数据存储工具。然而&#xff0c;有时我们会遇到这样一个令人头疼的问题&#xff1a;原本正常使用的U盘&#xff0c;突然提示“未格式化”&#xff0c;里面的文件似乎都消失不见了。面对这种情况&#xff0c;很多人会感到…

力扣热门算法题 124. 二叉树中的最大路径和,125. 验证回文串,127. 单词接龙

124. 二叉树中的最大路径和&#xff0c;125. 验证回文串&#xff0c;127. 单词接龙&#xff0c;每题做详细思路梳理&#xff0c;配套Python&Java双语代码&#xff0c; 2024.03.26 可通过leetcode所有测试用例。 目录 124. 二叉树中的最大路径和 解题思路 完整代码 Pyt…

Ubuntu安装教程——Desktop版本(细致入微的操作)

目录 前言 一、安装Ubuntu桌面版操作系统 二、UbuntuLive版安装 1.语言选择 2.键盘布局 3.版本选择 4.网络配置 5.代理配置 6.镜像地址 7.磁盘划分 8.设置用户信息 9.ssh 10.选择软件包 11.安装界面 12.基础配置 12.1root用户 12.2时区 12.3包管理工具 12…

tcp和udp的区别是什么

tcp和udp的区别是什么 TCP&#xff08;传输控制协议&#xff09;和UDP&#xff08;用户数据报协议&#xff09;是互联网协议族中的两个重要传输层协议。 一、工作原理 1.TCP工作原理&#xff1a; TCP是一种面向连接的协议&#xff0c;通过三次握手建立可靠的连接。发送端将数…

三度荣膺!ATFX再次摘得MT4经纪商顶级大奖,实力铸就荣耀

阳春三月&#xff0c;荣誉时刻再次如约而至。日前&#xff0c;英国《全球品牌杂志》主办的Global Brand Award Winners 2024公布获奖名单&#xff0c;ATFX作为历届榜单的常客&#xff0c;不负众望&#xff0c;继2021年、2023年的辉煌之后&#xff0c;今年再度双喜临门&#xff…

MySQL高阶SQL语句(二)

文章目录 MySQL高阶SQL语句&#xff08;二&#xff09;一、MySQL常用查询1、子查询1.1 语法1.1.1 结合select语句查询1.1.2 结合insert语句查询1.1.3 结合update语句查询1.1.4 结合delete语句查询1.1.5 在in前面添加not1.1.6 exists关键字 2、别名 二、MySQL视图1、视图介绍1.1…

图神经网络实战(6)——使用PyTorch构建图神经网络

图神经网络实战&#xff08;6&#xff09;——使用PyTorch构建图神经网络 0. 前言1. 传统机器学习与人工智能2. 人工神经网络基础2.1 人工神经网络组成2.2 神经网络的训练 3. 图神经网络4. 使用香草神经网络执行节点分类4.1 数据集构建4.2 模型构建4.3 模型训练 5. 实现香草图神…

Vuepress 2从0-1保姆级进阶教程——美化与模板

Vuepress 2 专栏目录 1. 入门阶段 Vuepress 2从0-1保姆级入门教程——环境配置篇Vuepress 2从0-1保姆级入门教程——安装流程篇Vuepress 2从0-1保姆级入门教程——文档配置篇Vuepress 2从0-1保姆级入门教程——范例与部署 2.进阶阶段 Vuepress 2从0-1保姆级进阶教程——全文搜索…

一文即可帮助你认识进程和线程~

本文的重点&#xff1a;什么是&#xff1a;进程、进程调度、线程和他们之间的联系。主讲概念知识&#xff0c;不讲代码实现 目录 一、认识进程 1.什么是进程 2.进程的信息 3.进程调度(***) 4.进程调度的基本过程 二、线程 1.线程的引入 2.什么是线程 3.进程于线程的联…

Kubernetes常用命令汇总大全(备忘清单)

文章目录 1、查看资源信息1.1、节点1.2、容器组1.3、命名空间1.4、无状态服务1.5、服务1.6、守护进程集1.7、事件1.8、日志1.9、服务帐户1.10、副本集1.11、角色1.12、保密字典1.13、配置项1.14、路由1.15、持久卷1.16、持久卷声明1.17、存储类1.18、多个资源1.19、查看和查找资…

如何解决了“该虚拟机似乎正在使用中”问题

一、问题描述 1、在用VMware虚拟机的时候&#xff0c;有时会发现打开虚拟机时提示“该虚拟机似乎正在使用中。如果该虚拟机未在使用&#xff0c;请按“获取所有权(T)”按钮获取它的所有权。否则&#xff0c;请按“取消©”按钮以防损坏。配置文件: D:\win10x64\Windows 10…

ABC346 A-G 题解

ABC346 A-G题解 A题目AC Code&#xff1a;时间复杂度 B题目时间复杂度AC Code&#xff1a; C题目时间复杂度AC Code&#xff1a; D题目时间复杂度AC Code&#xff1a; E题目时间复杂度AC Code&#xff1a; F题目时间复杂度AC Code&#xff1a; G题目时间复杂度AC Code&#xff…