启用跨站资源共享(备忘)

跨域Ajax调用的首选方法是跨站资源共享(CORS).与Jsonp不同,CORS不会利用安全漏洞,而且,它是由特殊的HTTP的消息头告诉浏览器允许跨域AJAX调用,避免了“hacks",让Cors方法更加简单,因为这样就不再需要javascript回调函数或者自定义操作结果类。

为了启用cors支持,只需要给每个需要cors支持的请求消息设置Access-Control-Allow-Origin header值即可。可以把允许访问的域名设置成“白名单”,或者使用“授权访问”任何域名:

HttpContext.ZResponse.AppendHeader("Access-Control-Allow-Origin","*");

也有别的方法,如可以给网站的全部请求消息添加Http消息头,只要在配置文件system.webServer>httpProtocol>customHeaders节点下设置以下代码:

<system.WebServer>
  <httpprotocol>
     <customheaders>
        <add name="Access-Control-Allow-Origin" value="*" />
     </customheaders>
  </httpprotocol>
</system.webserver>

接着发送普通的jq ajax请求即可:
$.ajax({
   type:"get",
   url:"http://***/***/**",
   dataType:"json",
   success:function(json){
      //do something
   },
   error:function(xtr,status,errthrow){
      alert("error:"+errthrow);
   }
});


版权声明:本文为yw1688原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。