跨域解决方案CORS使用方法

时间:2022-09-12 00:13:07

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使用方法的更多相关文章

  1. 小白的springboot之路(六)、跨域解决方案CORS

    0-前言 前后端分离.分布式集群,经常都会涉及到跨域访问,而浏览器基于同源策略,正常情况下是不能跨域的,这就需要我们解决跨域访问问题:spring boot解决跨域也比较简单: 1-CORS跨域解决方 ...

  2. WebApi 跨域解决方案 --CORS

    跨站HTTP请求(Cross-site HTTP request)是指发起请求的资源所在域不同于请求指向的资源所在域的HTTP请求. 比如说,我在Web网站A(www.a.com)中通过<img ...

  3. AJAX POST&amp&semi;跨域 解决方案 - CORS

    一晃又到新年了,于是开始着手好好整理下自己的文档,顺便把一些自认为有意义的放在博客上,记录成点的点滴.          跨域是我在日常面试中经常会问到的问题,这词在前端界出现的频率不低,主要原因还是 ...

  4. AJAX POST&amp&semi;跨域 解决方案 - CORS(转载)

    跨域是我在日常面试中经常会问到的问题,这词在前端界出现的频率不低,主要原因还是由于安全限制(同源策略, 即JavaScript或Cookie只能访问同域下的内容),因为我们在日常的项目开发时会不可避免 ...

  5. (转) AJAX POST&amp&semi;跨域 解决方案 - CORS

    跨域是我在日常面试中经常会问到的问题,这词在前端界出现的频率不低,主要原因还是由于安全限制(同源策略, 即JavaScript或Cookie只能访问同域下的内容),因为我们在日常的项目开发时会不可避免 ...

  6. 更简单的跨域解决方案 - CORS

    跨域问题是前端开发经常遇到的了,大家可能常用的就是JSONP了, JSONP非常方便,只要前后端约定好一个方法名,就可以沟通了,但JSONP也有一定的局限,JSONP只支持GET请求,还有当你想提供一 ...

  7. springmvc springboot 跨域问题&lpar;CORS&rpar;

    官方文档:http://docs.spring.io/spring/docs/current/spring-framework-reference/html/cors.html springmvc s ...

  8. Atitit&period;js跨域解决方案attilax大总结&&num;160&semi;后台java&&num;160&semi;php&&num;160&semi;c&num;&period;net的CORS支持

    Atitit.js跨域解决方案attilax大总结 后台java php c#.net的CORS支持 1. 设置 document.domain为一致  推荐1 2. Apache 反向代理 推荐1 ...

  9. 第十四节:Asp&period;Net Core 中的跨域解决方案(Cors、jsonp改造、chrome配置)

    一. 整体说明 1. 说在前面的话 早在前面的章节中,就详细介绍了.Net FrameWork版本下MVC和WebApi的跨域解决方案,详见:https://www.cnblogs.com/yaope ...

随机推荐

  1. header元素

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. C&num;中手工进行声明式验证,从此远离if验证

    今天在一个ASP.NET MVC Controller Action中写代码时,需要对ViewModel的字段进行验证.但这个Action处理的是手工编写的ajax请求(不是表单提交),无法使用ASP ...

  3. Winform上传下载文件代码

    using System; using System.Collections.Generic; using System.Text; using System.Net; using System.IO ...

  4. ls -l 显示年份

    默认情况下ls -l命令只显示月和日,不显示年份: $ ls -llrwxrwxrwx 1 root root 7 Feb 27 16:12 bin -> usr/bin 如要要显示年份,就要使 ...

  5. pydensecrf的inference&period;py代码的学习

    https://github.com/lucasb-eyer/pydensecrf/blob/master/examples/inference.py 1.运行 先运行看看实现的结果: (deeple ...

  6. 通过keras例子理解LSTM 循环神经网络&lpar;RNN&rpar;

    博文的翻译和实践: Understanding Stateful LSTM Recurrent Neural Networks in Python with Keras 正文 一个强大而流行的循环神经 ...

  7. 步步为营-84-数字转化为金额的Js&plus;enter键取消页面刷新

    说明:来不及细说了,老铁快上车 function fmoney(s, n) { console.log(s); n = n > && n <= ? n : ; s = pa ...

  8. SG函数 2019- 杭师范校赛

    #include<bits/stdc++.h> using namespace std; ; int sg[maxn]; int f[maxn]; int s[maxn]; void ma ...

  9. 关于拉格朗日乘子法与KKT条件

    关于拉格朗日乘子法与KKT条件 关于拉格朗日乘子法与KKT条件   目录 拉格朗日乘子法的数学基础 共轭函数 拉格朗日函数 拉格朗日对偶函数 目标函数最优值的下界 拉格朗日对偶函数与共轭函数的联系 拉 ...

  10. stm32cubemx 固件安装

    STM32CubeMX 可以在线安装固件库,也可以离线安装 1  在线安装 安装好之后,选项框显示为绿色 2  离线安装 先下载固件包 F1 : https://www.st.com/en/embed ...