改变mvc web api 支持android ,ios ,ajax等方式跨域调用

时间:2014-06-27 15:21:12   收藏:0   阅读:351

公司一个移动后端的项目用到了

webapi 

项目搭建到外网环境共app开发者调用测试接口时遇到了一个问题

接口不允许跨域调用

。查阅资料明白 

 同源策略原则根据请求报头值

Origin

与回应报头值

Access-Control-Allow-Origin 

来判断是否允许调用

解决方法

1.ajax使用jsonp

jsonp 是通过请求参数中加入回调函数参数值。webapi 收到回调函数参数值返回数据不再是单纯的json,而是根据回调函数参数值

的js方法调用,这样就避免的同源策略

需要webapi 重写json序列化方法 。

JsonMediaTypeFormatter

2.针对于ios等终端,

 


简单方法可直接配置iis的http头

bubuko.com,布布扣

此方法简单快捷不安全
暴露了所有
3.重写web api的
DelegatingHandler
加入自定义的http头
4.利用web api 自身的扩展
Microsoft ASP.NET Web API 2 Cross-Origin Support

 

改变mvc web api 支持android ,ios ,ajax等方式跨域调用,布布扣,bubuko.com

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!