web api CORS

使用方法:

1. 到nuget上装一个包:http://www.nuget.org/packages/Microsoft.AspNet.WebApi.Cors/

2. 在WebApiConfig.Register方法中加入代码:

config.EnableCors();

3. 在Controller上加上Attribute:

[EnableCors(origins: "http://www.yourdomain.com", headers: "*", methods: "*")]

 

PS:如果你用jQuery.ajax()的方式去请求,可能会失败:

$.ajax({
    url: 'yourCORSurl',
    data: '',
    dataType: 'json',
    type: 'GET',
    contentType: 'application/json; charset=utf-8',
    ...
})

学要把dataType和contentType两个参数去掉。

 

CORS原理:

资源授权

Request(携带Origin)

Response(携带Access-Control-Allow-Origin,值为Origin允许跨越,*任何都可访问,null禁止访问)

响应报头授权

Request(options)

Response(Access-Control-Allow-Methods,Access-Control-Allow-Headers)

 

 

简单跨域(授权资源获取一致)

会设计

 

asp.net mvc设置CORS:http://diaosbook.com/Post/2013/12/27/tips-for-aspnet-webapi-cors

CORS规范:http://www.cnblogs.com/artech/p/cors-4-asp-net-web-api-02.html

posted @ 2015-05-31 21:32  fannet  阅读(278)  评论(0)    收藏  举报