码迷,mamicode.com
首页 > Windows程序 > 详细

C# 实现CORS

时间:2017-06-24 19:35:48      阅读:319      评论:0      收藏:0      [点我收藏+]

标签:load   callback   资源   alert   rip   orm   add   cors   请求   

1.IE对CORS的实现

       ie8中引入了XDR(XDomainRequest),这个对象与XHR类似,但能实现安全可靠的跨域通信。CORS的核心思想就是使用自定义的HTTP头部让浏览器

和服务器进行沟通。

浏览器:

在请求的头部会附加Origin.

var xdr = new XDomainRequest();

xdr.onload = function () {
  alert(xdr.responseText);
};
xdr.onerror = function () {

};
xdr.open("get", "XXX");
xdr.send("111");

服务器端:

       根据请求的Origin决定这个请求是否可以接受,如果可以接受,就在Access-Control-Allow-Origin回发相同的源信息,如果是公共资源,回发"*"。

如果头部信息不匹配,浏览器就会驳回请求。

response.AddHeader("Access-Control-Allow-Origin", "*");

 

2.JSONP

浏览器端:

var script = document.createElement("script");
script.src = "xxx?callback=hello";
document.body.insertBefore(script,document.body.firstChild);

服务器端:

string responses = string.Format("\"a\":\"1\"");
string call = "hello" + "({" + responses + "})";
response.Write(call);

C# 实现CORS

标签:load   callback   资源   alert   rip   orm   add   cors   请求   

原文地址:http://www.cnblogs.com/Ferrari/p/7074014.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!