-
简单请求和非简单请求
查看全部 -
跨域
浏览器限制
跨域
XHR 请求
查看全部 -
1、JSONP解决跨域需要修改后台代码。
2、跨域是浏览器行为、只有XHR请求才有跨域问题
查看全部 -
/* 一.浏览器多管闲事-----------------------------------------------------搞定浏览器: 让浏览器滚,不判断 1.启动浏览器的时候加参数 2.浏览器跨域插件 二.浏览器判断类型: XHR (XMLHttpRequest)-------------------------------发送类型不是XHR, JSONP就是利用这一条. JSONP一个非官方的协议, JSONP的弊端: 1.JSONP需要后台配合, 要有一个参数, 默认是?callback=JQuery1234567... JSONP返回的类型是:javascript, 而非json 2.只可以发送get请求 3.发送的不是XHR请求(这也是它可以跨域的原因),没有回调及事件的特性 三.浏览器判断跨域: 协议, 域名, 端口, 任何一个不一样就是跨域-----------1.服务器告诉浏览器可以跨域. 2.前端通过代理欺骗浏览器是同一个域名 1.后端处理: a)应用服务器(TOMCAT)--Filter, "Access-Control-Allow-Origin": "http://localhost:8081" "Access-Control-Allow-Methods": "GET" "Access-Control-Allow-Headers": "Content-Type, custom-header1, custom-header2" //非简单请求每次会发出去两次请求,预检命令(OPTIONS)和真正的请求 "Access-Control-Max-Age": "3600" //预检命令(OPTIONS)为1个小时, 这样1个小时内就不用发送两次请求 "Access-Control-Allow-Credentials": "true" //不是"Access-Control-Allow-Origin": "*"就无敌了, 带Cookie的请求就行不通! b)HTTP服务器(NGINX) 配置比apache简单些 c)HTTP服务器(APACHE) 相对nginx复杂一些 d)Spring框架解决方案 @CrossOrigin 2.前端处理(隐藏跨域): a)反向代理-NGINX配置 在请求的时候写相对路径就行, 浏览器认为请求是同域的, 不会做跨域判断. 后端处理时, 请求地址都是绝对路径 b)反向代理-APACHE配置 以上一,二,三个条件必需同时满足, 才会生跨域问题! 问答: -> 为什么已经返回200了还报错: 因为是先发送, 浏览器再判断是否跨域. 如果存在跨域条件, 则报错. */
查看全部 -
后台代码编写
前台代码编写
引入前台jasmine测试框架
查看全部 -
调用方 apache 2.4.x config for cosr
查看全部 -
调用方 nginx config
查看全部 -
Spring Controller or Method
add @CrossOrigin for cosr
查看全部 -
apache 2.4.x config for cosr
查看全部 -
proxy_module mod_proxy.so
proxy_http_module mod_proxy_http.so
headers_module mod_headers.so
rewrite_module mod_rewrite.so
apache 2.4.x proxy config
ProxyPass / http://localhost:8080/
查看全部 -
nginx config segment for cosr
查看全部 -
禁止浏览器做跨域安全问题的检验查看全部
-
禁止浏览器做跨域安全问题的检验查看全部
-
调用方修改: 隐藏跨域(代理) 被调用方修改: 支持跨域查看全部
-
001查看全部
举报
0/150
提交
取消