跨域解决方案CORS使用方法
CORS(Cross-Origin Resource Sharing), 目前CORS还处于w3c的草案,它定义了跨域访问时服务器和客户端之间如何通信。他的原理是通过定义HTTP头部的信息,来让客户端和服务器互相确认,从而决定是否相应本次请求。
兼容性: IE10+ chrome21+ firefox21+ safari5.1+ opera12.1+ (IE8, 9中使用XDomainRequest)
详见 http://caniuse.com/cors , 可通过(new XMLHttpRequest).withCredentials !== undefined判断
客户端:
function compatibleCORS(method, url) {
var xhr = new XMLHttpRequest();
if (xhr.withCredentials !== undefined) {
xhr.open(method, url, true);
} else if (typeof XDomainRequest !== "undefined") {
//XDomainRequest是IE用于支持CORS请求的对象
xhr = new XDomainRequest();
xhr.open(method, url);
} else {
xhr = null;
}
return xhr;
} var xhr = compatibleCORS('GET', "your url");
if (!xhr) {
throw new Erorr("CORS不被支持");
}
服务端:
通过设置http响应头Access-Control-Allow-Origin: www.xxx.com(这里可以是*, 代表接受任意域名的跨域申请, 但为了安全策略, 一般情况下不要这样做)
这样客户端的代码就能得到响应
跨域解决方案CORS使用方法的更多相关文章
- 小白的springboot之路(六)、跨域解决方案CORS
0-前言 前后端分离.分布式集群,经常都会涉及到跨域访问,而浏览器基于同源策略,正常情况下是不能跨域的,这就需要我们解决跨域访问问题:spring boot解决跨域也比较简单: 1-CORS跨域解决方 ...
- WebApi 跨域解决方案 --CORS
跨站HTTP请求(Cross-site HTTP request)是指发起请求的资源所在域不同于请求指向的资源所在域的HTTP请求. 比如说,我在Web网站A(www.a.com)中通过<img ...
- AJAX POST&跨域 解决方案 - CORS
一晃又到新年了,于是开始着手好好整理下自己的文档,顺便把一些自认为有意义的放在博客上,记录成点的点滴. 跨域是我在日常面试中经常会问到的问题,这词在前端界出现的频率不低,主要原因还是 ...
- AJAX POST&跨域 解决方案 - CORS(转载)
跨域是我在日常面试中经常会问到的问题,这词在前端界出现的频率不低,主要原因还是由于安全限制(同源策略, 即JavaScript或Cookie只能访问同域下的内容),因为我们在日常的项目开发时会不可避免 ...
- (转) AJAX POST&跨域 解决方案 - CORS
跨域是我在日常面试中经常会问到的问题,这词在前端界出现的频率不低,主要原因还是由于安全限制(同源策略, 即JavaScript或Cookie只能访问同域下的内容),因为我们在日常的项目开发时会不可避免 ...
- 更简单的跨域解决方案 - CORS
跨域问题是前端开发经常遇到的了,大家可能常用的就是JSONP了, JSONP非常方便,只要前后端约定好一个方法名,就可以沟通了,但JSONP也有一定的局限,JSONP只支持GET请求,还有当你想提供一 ...
- springmvc springboot 跨域问题(CORS)
官方文档:http://docs.spring.io/spring/docs/current/spring-framework-reference/html/cors.html springmvc s ...
- Atitit.js跨域解决方案attilax大总结 后台java php c#.net的CORS支持
Atitit.js跨域解决方案attilax大总结 后台java php c#.net的CORS支持 1. 设置 document.domain为一致 推荐1 2. Apache 反向代理 推荐1 ...
- 第十四节:Asp.Net Core 中的跨域解决方案(Cors、jsonp改造、chrome配置)
一. 整体说明 1. 说在前面的话 早在前面的章节中,就详细介绍了.Net FrameWork版本下MVC和WebApi的跨域解决方案,详见:https://www.cnblogs.com/yaope ...
随机推荐
- 乐在其中设计模式(C#) - 单例模式(Singleton Pattern)【转】
介绍 保证一个类仅有一个实例,并提供一个访问它的全局访问点. 示例 保证一个类仅有一个实例. Singleton using System; using System.Collections.Gene ...
- java 类从哪个jar包加载的
<%@page contentType="text/html; charset=GBK"%><%@page import="java.security. ...
- python(5) - time模块
import time 1. time.gmtime() 显示当前structtime,格林时间 >>> import time >>> time.gm ...
- 属性声明(property declarations), 自定义属性,自动生成 get 和 set 方法,getter 和 setter
属性声明(property declarations), 自定义属性,自动生成 get 和 set 方法,getter 和 setter 一.普通的get 和set 属性. 一般的get 和set 属 ...
- mybatis缓存创建过程
带着 上篇 的问题,再来看看mybatis的创建过程 1.从SqlSessionFactoryBuilder解析mybatis-config.xml开始 对文件流解析 XMLConfigBuilder ...
- 【简单dp+模拟】hdu-5375(2015多校#7-1007)
给你一个二进制数,,每一位有一个权值,让你转格雷码,求所对应格雷码位为1的权值的和:二进制位中的某些位为?,你需要给这些问号赋值使得到的和最大. 首先你得知道二进制转格雷码的规则,即格雷码位为[二进制 ...
- Sublime Text3 包管理器、插件安装
安装插件之前先要安装包管理器,包管理器的安装也很简单,复制粘贴对应版本命令代码回车即可 一.包管理器安装 1.打开Sublime3控制台,按ctrl+~ 2.输入安装包管理器命令行代码 3.注意需要联 ...
- 小技巧之a标签自动解析URL
我们可能都知道javascript中的window.location对象用来获取当前页面的地址URL,并把浏览器重定向到新的页面.它有protocol.hostname.host.port.searc ...
- Asp.Net运行原理(=)
浏览器与服务器之间的通信. 一般浏览器与服务器之间的底层是通过socket建立连接的. 当浏览器与服务器之间建立了socket连接之后,服务器就开始监听. 当浏览器与服务器之间建立了相互兼容的协议之后 ...
- jQuery之对话框
<!doctype html> <html> <head> <meta charset="utf-8"> <meta http ...