本文引用自:http://blog.csdn.net/xuwei_xuwei/article/details/29845865

客户端

一个jquery cors请求例子:
$.ajax({  
            type: 'post',  
            crossDomain: true,  
            url: 'http://your.url.com/admin/login',  
            data: {  
                UserName: $('#name:text', this.el).val(),  
                PassWord: $('#Password:password', this.el).val()  
            },  
            dataType:'json',  
            xhrFields: {  
                'Access-Control-Allow-Origin': '*'
            },  
            success: function(data, textStatus, jqXHR){  
                console.log("getAllResponseHeaders:"+jqXHR.getAllResponseHeaders());  
                console.dir(jqXHR);  
                Backbone.history.navigate("#booklist",true);  
            }  
        });

服务端

.net后端实现cors有3种方法

1.服务端配置(iis7为例)

在项目的web.config文件中添加下面的代码即可
//全局配置
<?xml version="1.0" encoding="utf-8"?>
<configuration>
 <system.webServer>
   <httpProtocol>
     <customHeaders>
       <add name="Access-Control-Allow-Origin" value="*" />
     </customHeaders>
   </httpProtocol>
 </system.webServer>
</configuration>

2.asp.net 中,在每次对客户端的响应时,添加如下代码即可

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

3.ASP.NET Web API中,要做如下配置

ASP.NET Web API 2 支持 CORS,要支持cors,请先用vs自带的nuget安装 Microsoft.AspNet.WebApi.Cors包
然后在mvc项目中添加如下代码
目录 App_Start 文件 WebApiConfig
public static void Register(HttpConfiguration config)
{
    // 其他配置,
//下面是全局配置
//var cors = new EnableCorsAttribute("www.example.com", "*", "*");
//config.EnableCors(cors);
    config.EnableCors();
}
在对用的apicontrol通过特性声明对应的origin,headers,methods
//类级别设置
[EnableCors(origins: "http://example.com", headers: "*", methods: "*")]
public class TestController : ApiController
{
    // Controller methods not shown...
}
//方法级别设置
public class ItemsController : ApiController
{
    public HttpResponseMessage GetAll() { ... }

[EnableCors(origins: "http://www.example.com", headers: "*", methods: "*")]
    public HttpResponseMessage GetItem(int id) { ... }

public HttpResponseMessage Post() { ... }
    public HttpResponseMessage PutItem(int id) { ... }
}
ok,.net服务端的配置上述3中任选一种即可
其他服务器和语言关于cors的配置请参考下面地址:http://enable-cors.org/server.html
如图:

原文地址:http://enable-cors.org/server_iis7.html
                    http://enable-cors.org/server_aspnet.html
                    http://www.asp.net/web-api/overview/security/enabling-cross-origin-requests-in-web-api

cors实现跨域(.net和jquery)的更多相关文章

  1. angularjs简单实现$http.post(CORS)跨域及$http.post传参方式模拟jQuery.post

    1.开启angularjs的CORS支持 .config(function($httpProvider) { // CORS post跨域配置 $httpProvider.defaults.useXD ...

  2. Angular通过CORS实现跨域方案

    以前有一篇很老的文章网上转了很多,包括现在如果你百度"跨域"这个关键字,前几个推荐的都是"Javascript跨域总结与解决方案".看了一下感觉手段有点陈旧了, ...

  3. 一步一步学习SignalR进行实时通信_3_通过CORS解决跨域

    原文:一步一步学习SignalR进行实时通信_3_通过CORS解决跨域 一步一步学习SignalR进行实时通信\_3_通过CORS解决跨域 SignalR 一步一步学习SignalR进行实时通信_3_ ...

  4. 跨域WebApi的Jquery EasyUI的数据交互

    目录 1       大概思路... 1 2       创建WebAPI 1 3       创建CrossMainController并编写... 1 4       Nuget安装microso ...

  5. spring boot 中通过CORS实现跨域

    一.跨域问题出现的原因 出现跨域问题的原因是同源策略. 同源策略 主要是三同:同协议.同域名.同端口, 同源策略目的 保证用户信息安全,防止恶意网站窃取数据.同源策略是必须的,否则cookie可以共享 ...

  6. Spring Boot 通过CORS实现跨域

    同源策略 很多人对跨域有一种误解,以为这是前端的事,和后端没关系,其实不是这样的,说到跨域,就不得不说说浏览器的同源策略. 同源策略是由 Netscape 提出的一个著名的安全策略,它是浏览器最核心也 ...

  7. System.Web.Http.Cors配置跨域访问的两种方式

    System.Web.Http.Cors配置跨域访问的两种方式 使用System.Web.Http.Cors配置跨域访问,众多大神已经发布了很多文章,我就不在详细描述了,作为小白我只说一下自己的使用心 ...

  8. HTML5安全:CORS(跨域资源共享)简介。。。ie67不要想了。。。

    来源:http://blog.csdn.net/hfahe/article/details/7730944 前言:像CORS对于现代前端这么重要的技术在国内基本上居然很少有人使用和提及,在百度或者Go ...

  9. CORS(跨域资源共享)简介

    前言:像CORS对于现代前端这么重要的技术在国内基本上居然很少有人使用和提及,在百度或者Google上搜索CORS,搜到的中文文章基本都是另外一种卫星定位技术CORS的介绍,让我等前端同学情何以堪(对 ...

随机推荐

  1. Decorate设计模式

    定义:装饰器设计模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案.不改变对象的情况下,动态增加其功能. • 需要扩展一个类的功能,或给一个类添加附加的成员. • 需要动态地给一个对象增 ...

  2. python文件上传工具实现

    0x00 之前验收waf模块webshell效果,组网pc--waf--webserver,收集网络上的webshell样本,进行上传测试.由于数量较多8000+个样本, 只好写了个工具进行验收. w ...

  3. python的socket的学习

    一.Socket相关知识 1.socket是什么: socket是应用层与TCP/IP协议族通信的中间软件抽象层,他是一组接口.在设计模式中,Socket其实就是一个门面模式. 它把复杂的TCP/IP ...

  4. WebService 入门

    1. 远程调用技术 2. WebService 概述 WebService 是使用 Http 发送 SOAP 协议数据的一种远程调用技术; WebService 需要开发客户端; WebService ...

  5. winrar命令行参数说明

    用法:     rar <命令> -<开关 1> -<开关 N> <压缩文件> <文件...> <@列表文件...> <解 ...

  6. 手势识别:GestureDetector

    当用户触摸屏幕的时候,会产生许多手势,例如down,up,scroll,filing等等,我们知道View类有个View.OnTouchListener接口,通过重写他的onTouch(View v, ...

  7. WireShark告诉你ping百度时都发生了什么

    备注:  测试机器为Mac 重点展示本机发出icmp的过程(dns-->arp-->icmp) 本机默认网关 ->route -n get e -n get default rout ...

  8. PScc

      photoshop cc 2018破解版是Adobe公司最新版专业化CC图像处理软件,新功能超乎你的想象!photoshop cc 2018破解版新功能给力来袭,访问Lightroom照片,分享作 ...

  9. 10046 trace详解(1)

    10046 trace帮助我们解析一条/多条SQL.PL/SQL语句的运行状态,这些状态包括:Parse/Fetch/Execute三个阶段中遇到的等待事件.消耗的物理和逻辑读.CPU时间.执行计划等 ...

  10. begoo——路由设置

    路由本质是URL与要为该URL调用的视图函数之间的映射表,其实就是你定义的使用那个URL调用那段代码的关系对应表. 首先看一下最简单的路由: package routers import ( &quo ...