![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Ajax跨域
文章平均质量分 89
Drogon Brother
这条路 我并不寂寞
展开
-
什么是跨域问题?
什么是跨域问题?前后端分离,前端服务和后端服务域名不一样,导致前端访问后端服务的时候报错,这个就是Ajax跨域问题原创 2018-12-04 12:22:00 · 219 阅读 · 0 评论 -
跨域解决方向
跨域解决方向1、被调用方解决基于支持跨域的解决思路基于http协议支持跨域方面的一些规定在响应头中添加支持跨域字段,告诉浏览器,我允许它调用在这种解决方案下,跨域请求是直接从浏览器发过去的2、调用方解决基于隐藏跨域解决思路在这种解决方案下,跨域请求不会直接从浏览器发送到被调用方而是从中间的http服务器转发过去的3、举例子调用方为a.com,被调用方为...原创 2018-12-04 19:56:00 · 136 阅读 · 0 评论 -
跨域问题-被调用方解决
跨域问题-被调用方解决1、被调用方解决 – 支持跨域(1)被调用方支持跨域解决方案 服务端实现 Nginx配置 Apache配置(2)被调用方解决跨域Java EE架构图...原创 2018-12-04 19:59:00 · 169 阅读 · 0 评论 -
跨域问题-被调用方解决-filter解决方案
跨域问题-被调用方解决-filter解决方案1、后台程序先执行还是浏览器先判断?返回的状态码:200表示执行成功 说明请求是先执行,浏览器后判断2、浏览器如何判断?如果请求跨域,请求头里就会多一个Origin字段,当服务端返回信息的时候,会去判断响应头里是否有对应的字段,如果没有,即出现跨域请求问题,如果有,即允许跨域。3、后台Filter代码实现(...原创 2018-12-04 20:05:00 · 936 阅读 · 0 评论 -
HTTP简单请求和非简单请求1
简单请求和非简单请求11、浏览器发送跨域请求,如何判断? 浏览器在发送跨域请求的时候,会先判断下是简单请求还是非简单请求,如果是简单请求,就先执行服务端程序,然后浏览器才会判断是否跨域2、简单请求(1)工作中比较常见 【简单请求】: 方法为:GET HEAD POST...原创 2018-12-04 20:11:00 · 11297 阅读 · 0 评论 -
HTTP简单请求和非简单请求2
简单请求和非简单请求21、OPTIONS预检命令操作(1)后端服务增加预检命令缓存 如果每个postJson请求,都要发两次请求,会影响效率。所以,可以缓存预检命令服务端设置Access-Control-Max-Age服务端设置了预检命令缓存之后,在缓存未失效的情况下,不会再出现预检请求服务端设置了预检命令缓存之后,在缓存未失效的情况下,不会再出现预检请求(...原创 2018-12-04 20:39:00 · 750 阅读 · 0 评论 -
带cookie的跨域1
带cookie的跨域11、Access-Control-Allow-Origin:*解决不了带Cookie的跨域问题 在响应头中设置此字段不能满足所有解决跨域问题的场景 比如:带cookie的跨域请求2、前端请求代码index.html代码 //测试getCookie方法 ...原创 2018-12-04 20:52:00 · 375 阅读 · 0 评论 -
带cookie的跨域2
带cookie的跨域21、Access-Control-Allow-Origin:具体URL(1)Access-Control-Allow-Origin设置具体的URL,只能解决设置的具体URL跨域问题,不解决带Cookie的所有URL跨域请求设置具体跨域URLCrossFilter代码:@Override public void doFilter(Servl...原创 2018-12-10 22:22:00 · 226 阅读 · 0 评论 -
HTTP带自定义头的跨域
HTTP带自定义头的跨域 1、index.html代码修改自定义头设置 // 测试getHeader方法 it("测试getHeader方法", function(done) { //服务器返回的结果 ...原创 2018-12-10 22:32:00 · 1653 阅读 · 0 评论 -
最常见的javaee架构
最常见的Java EE架构1、Java EE架构调用方:表示前端被调用方:表示后端中间件(静态服务器/代理服务器/HTTP服务器):Apache/NginxJava EE架构2、解决跨域两种思路(1)调用方隐藏跨域(2)被调用方支持跨域...原创 2018-12-04 19:49:00 · 192 阅读 · 0 评论 -
Jsonp解决跨域4
Jsonp解决跨域41、jsonp总结jsonp是一个非官方协议它是一个约定前后端需要约定的参数 默认callback服务端发现如果是一个jsonp请求,就会把返回的json对象改成js代码函数名是callback的值返回值是js代码(1)慕课网是支持jsonp请求,callback参数是自己添加的慕课网是支持jsonp请求,callback参数是自己添加...原创 2018-12-04 19:45:00 · 109 阅读 · 0 评论 -
Jsonp解决跨域3
Jsonp解决跨域31、jsonp请求修改callback参数名称你会发现返回数据为json对象,不再是一个js函数你会发现返回数据为json对象,不再是一个js函数原因:因为jsonp是一个约定,以前前端和后端的参数约定是callback,现在前端请求参数是callback2,所以后端就不认识callback2,所以就不知道这是一个jsonp请求,所以返回的就不会是一个js...原创 2018-12-04 17:25:00 · 124 阅读 · 0 评论 -
模拟跨域请求后台服务代码
模拟跨域请求后台服务代码被调用方后台代码编写调用方前台代码编写引入前台Jasmine测试框架1、创建Spring Boot工程创建Spring Boot工程创建Spring Boot工程 Core-DevTools开发工具,代码改动之后,自动重启服务 Web-Web提供Web服务2、创建Controller类提供服务 Aja...原创 2018-12-04 12:34:00 · 464 阅读 · 0 评论 -
模拟跨域请求前台页面代码
模拟跨域请求前台页面代码被调用方后台代码编写调用方前台代码编写引入前台Jasmine测试框架1、创建Spring Boot工程 创建Spring Boot工程创建Spring Boot工程Web-Web提供Web服务2、创建HTML页面 index.html代码<!DOCTYPE html><html lang...原创 2018-12-04 12:43:00 · 1721 阅读 · 0 评论 -
模拟跨域请求-引入jasmine测试框架
引入jasmine测试框架1、下载jasmine测试框架 http://jasmine.github.io 选择RELEASES版本2、Spring Boot项目引入jasmine测试框架 把lib/jasmine-2.8.0引入到static目录下 把lib/jasmine-2.8.0引入到static目录下3、index.htm...原创 2018-12-04 12:51:00 · 472 阅读 · 0 评论 -
产生跨域的原因
产生跨域的原因浏览器的限制跨域XHR(XMLHttpRequest)请求1、浏览器的限制 请求200表示请求成功 后台日志也打了,说明后台服务调到了,跨域问题是浏览器的限制导致的2、跨域跨域概念:客户端和服务端只要“协议”、“域名”、“端口”任何一个不一样,都表示跨域客户端:http://localhost:8082/服务端:http://...原创 2018-12-04 12:56:00 · 906 阅读 · 0 评论 -
跨域问题解决思路
跨域问题解决思路1、两种解决思路隐藏跨域:如果被调用方是其他业务方,可以自己修改代理服务器(Nginx or Apache),使用隐藏跨域方式解决;支持跨域:被调用方自己支持跨域,一般在响应头里添加支持跨域字段;2、解决思路流程图根据产生跨域问题原因,制定解决跨域方法:浏览器限制 跨域 XHR(XMLHttpRequest请求) ...原创 2018-12-04 13:00:00 · 283 阅读 · 0 评论 -
浏览器禁止跨域检查
浏览器禁止跨域检查1、浏览器未禁止检查前现象报跨域问题2、浏览器禁止检查后现象浏览器禁止安全检查命令:chrome.exe–disable-web-security -user-data-dir=e:\forbidden-check(-user-data-dir= e:\forbidden-check 表示浏览器禁止安全检查的临时存放数据目录)回车执行禁止安全检查...原创 2018-12-04 13:05:00 · 1914 阅读 · 0 评论 -
Jsonp解决跨域1
Jsonp解决跨域11、jsonp如何解决跨域前后端都需要改动(1)前端:index.html代码如下:index.html代码describe("Asuite is just a function-ajax跨越完全讲解", function() {// 测试方法 it("jsonp请求", function(done)...原创 2018-12-04 16:56:00 · 185 阅读 · 0 评论 -
Jsonp解决跨域2
Jsonp解决跨域21、Request Type类型不同两种请求类型:xhr、script2、Response Headers类型不同Response Headers不同(返回对象不一样)一个是返回json对象,一个返回js脚本(1)普通get1请求普通get1请求(2)jsonp类型get1请求jsonp类型get1请求3、开发者工具使...原创 2018-12-04 17:09:00 · 126 阅读 · 0 评论 -
跨域问题-被调用方解决方案-Nginx解决方案
被调用方解决方案-Nginx解决方案1、 最常见的Java EE架构最常见的Java EE架构图2、下载安装Nginx(Windows版本)(1)下载地址 http://nginx.org/en/download.html(2)下载安装流程 windows安装包下载 把下载安装包放到本地磁盘 解压缩安装到本地磁盘(3...原创 2018-12-11 10:42:00 · 4812 阅读 · 0 评论