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 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 服务端(后端),前端支持跨域请求 -> 正文阅读

[网络协议]服务端(后端),前端支持跨域请求

服务端(后端),前端支持跨域请求

几种支持跨域请求的方式 解释的很简单
几种支持跨域请求的方式
在这里插入图片描述

报错:
Access to XMLHttpRequest at 'localhost:8080/ rom origin ‘null’ has been blocked by CORS policy:

原因:我的前端项目没有支持跨域请求;
解决:
1.前端项目支持跨域请求:如果部署在apache服务器上,要在apache服务器上开启允许跨域请求,我安装教程做了,但是没有成功,大牛们可以自己搜下 apache(或者其他的服务器)开启跨域请求的方法
我是用的XMLRequest发送 的请求,手动在header中加入跨域请求头
在这里插入图片描述
如果成功的标记就是
在这里插入图片描述
请求头header中有这个字段 之后浏览器会自动的测试后端是否支持跨域请求,也就是发一个option方法,如果成功响应,就代表服务器端支持

报错:Response to preflight request doesn’t pass access control check: No ‘Access-Control-Allow-Origin’ header is present on the requested resource.

2.后端支持跨域请求
这个时候报错,就是后端没有支持跨域请求;

1.全局配置支持跨域请求:(如果是有反向代理,可以搜一下nginx配置负载均衡)
我的项目是springBoot项目,大家可以搜一下springBoot支持跨域请求:就是写一个过滤器,在response中手动添加上Access-Control-Allow-Origin ( 这是判断服务端是否支持跨域请求的标志)。

当然也可以手动的在你要支持跨域请求的接口中,在response header中加入Access-Control-Allow-Origin头 ,value为* 这样基本就完成了后端支持跨域请求

3.记录一下坑 (做完2之后,一直还是请求不过)

在这里插入图片描述
可以看到浏览器已经自动的支持跨域请求,options方法就是浏览器自动判断后端是否支持跨域请求,如果有响应就是服务端支持,不成功就如图,证明不支持跨域响应。当时我用postman给我 的接口发GET请求,响应头是有Access-control-allow-origin的,但是浏览器自己生成的请求确没有这个响应头,后来查资料,options为预请求,判断是否支持,而我的代码是@GetMapping ,也就是只有get请求,才会加响应头,options方法根本进不到接口中。
在这里插入图片描述

把@GetMapping 改成@RequestMapping就好了 或者说支持Options方法和接口接受的请求方法。

在这里插入图片描述

最后就完美解决了

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-11-14 22:06:46  更:2021-11-14 22:09:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 7:28:19-

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