解决浏览器直接get能获取数据而ajax post却不能
分析
- 打开控制台发现会有这条错误信息:
has been blocked by CORS policy: The ‘Access-Control-Allow-Origin’ header co…
- 而直接get是有数据的,说明服务器是正常的
- 使用浏览器f12抓包发现浏览器ajax异步请求没有获取到服务器响应的JSON数据
- 带参数copy ajax异步请求的地址,直接放浏览器回车.发现成功响应了json数据
- 再使用专业一点的fiddler抓包,发现ajax异步post请求服务器是响应了json数据,而在浏览器里却没有
- 可以得出结论是浏览器屏蔽了服务器的响应数据
解决办法
服务器端过滤器doFilter()
里设置响应头,解决浏览器屏蔽跨域请求响应的数据问题
HttpServletResponse response = (HttpServletResponse) servletResponse;
HttpServletRequest request = (HttpServletRequest) servletRequest;//http://xxx.xxx.xxx.xxx是你的前端地址 不是80端口有端口请设置端口http://xxx.xxx.xxx.xxx:端口号
response.setHeader("Access-Control-Allow-Origin","http://xxx.xxx.xxx.xxx");
response.setHeader("Access-Control-Allow-Credentials","true");filterChain.doFilter(request, response);
注意
http://xxx.xxx.xxx.xxx
和http://xxx.xxx.xxx.xxx:80
对于浏览器来说是有区别的,如果你的前端端口是80端口,请不要在http://xxx.xxx.xxx.xxx
后面添加80端口,请直接使用http://xxx.xxx.xxx.xxx
解决浏览器直接get能获取数据而ajax post却不能相关推荐
- 如何解决mui-scroll-wrapper组件在动态获取数据时滚动或者滑动失效的问题(亲测有效)
第一次些博客,如果有写的不好的地方,请见谅!! ##由于需要使用MUI制作公司的一个APP,因此跟着MUI官方帮助文档进行了代码的测试,大部分组建都能够达到想要的效果,但是在测试popover+scr ...
- Promise相关内容(三)——异步获取服务器数据:promise方式解决回调地狱的问题。通过多个.then使代码可读性更高 实现异步任务的串行执行,保证按顺序发送请求获取数据
Promise相关内容(三)--异步获取服务器数据:promise方式解决回调地狱的问题.通过多个.then使代码可读性更高 & 实现异步任务的串行执行,保证按顺序发送请求获取数据 第一种形式 ...
- Vue---v-bind数据绑定、事件绑定、v-for循环绑定数据、v-model数据绑定、过滤器filters、v-show、v-if及练习(demo:切换小球颜色、获取数据进行展示、显示和隐藏)
一.如何创建一个Vue实例*******************************************************{{}} 在vue中是一个展示数据的方式一个页面中可以有多个vu ...
- 使用localStorage解决浏览器刷新后无法再从vuex中获取数据的问题
假设有这样一个场景:用户登录后,用vuex管理用户的信息,登录成功后进入主界面,在进入主界面后刷新浏览器,此时vuex中的用户信息将无法获取到.那么应该如何解决? 办法之一是使用localStorag ...
- 解决浏览器兼容性问题面试题_如果不解决技术面试问题,就无法解决技术多样性问题。 这是数据。...
解决浏览器兼容性问题面试题 by Aline Lerner 通过艾琳·勒纳(Aline Lerner) 如果不解决技术面试问题,就无法解决技术多样性问题. 这是数据. (You can't fix d ...
- java数据存在ie中_[Java教程]解决在IE中获取数据的缓存问题,运行环境为node.js
[Java教程]解决在IE中获取数据的缓存问题,运行环境为node.js 0 2015-11-30 20:00:06 IE下默认会开启缓存策略,不管是页面还是通过ajax请求的数据都会议一个url,u ...
- selenium控制浏览器获取数据(java 版本)
目录 1.前言 2.操作案例 3.代码解析 3.1.WebDriverManager 3.2.解决苹果url scheme导致的protocol handler弹窗问题 3.3.操作 4.chrome ...
- android不能使用udp获取数据解决
android不能使用udp获取数据 如果你要通过wifi在内网里,用android手机通过udp发送数据到pc上,并在pc上通过java程序将数据返回到手机上,但是确无法获取数据,今天我也遇到了这个 ...
- 解决从json文件中获取不到数据的问题
解决从json文件中获取不到数据的问题 参考文章: (1)解决从json文件中获取不到数据的问题 (2)https://www.cnblogs.com/yhyanjin/p/7214776.html ...
最新文章
- nginx和mysql链接_nginx转发mysql连接
- 前沿|8种面部表情实时追踪,你的喜怒哀乐全被AI看穿了
- KFold、StratifiedKFold、GroupKFold的区别
- java map string stu_Java Map遍历的三种方式 | 学步园
- boost::mp11::mp_replace_if相关用法的测试程序
- android被逼学习布局管理器
- 【转】Asp.net控件开发学习笔记整理篇 - 数据回传
- OpenCV3学习(12.5) opencv实现粒子滤波目标跟踪
- ansys的kbc_ANSYS载荷施加
- 目前web渗透的思路
- WinRAR去广告方法,了解一下?
- 串行外设接口(Serial Peripheral Interface, SPI)
- Linux内核-CFS调度下带宽控制(Bandwidth Control)
- 计算机语言 机器码,什么是机器码 机器码封了怎么解决-与非网
- 甘超波:NLP价值观
- 【第七章】 对JDBC的支持 之 7.1 概述 ——跟我学spring3
- 一文看懂VPS、原生IP、住宅IP有什么不同
- 【BiSeNet】《BiSeNet:Bilateral Segmentation Network for Real-time Semantic Segmentation》
- flickr php,php – 获取Flickr集
- 一键获取隐藏Wi-Fi SSID:利用Python和Scapy发现隐藏无线热点