首页 > 代码库 > 改变mvc web api 支持android ,ios ,ajax等方式跨域调用
改变mvc web api 支持android ,ios ,ajax等方式跨域调用
公司一个移动后端的项目用到了
webapi
项目搭建到外网环境共app开发者调用测试接口时遇到了一个问题
接口不允许跨域调用
。查阅资料明白
同源策略原则根据请求报头值
Origin
与回应报头值
Access-Control-Allow-Origin
来判断是否允许调用
解决方法
1.ajax使用jsonp
jsonp 是通过请求参数中加入回调函数参数值。webapi 收到回调函数参数值返回数据不再是单纯的json,而是根据回调函数参数值
的js方法调用,这样就避免的同源策略
需要webapi 重写json序列化方法 。
JsonMediaTypeFormatter
2.针对于ios等终端,
简单方法可直接配置iis的http头
此方法简单快捷不安全
暴露了所有
3.重写web api的
DelegatingHandler
加入自定义的http头
4.利用web api 自身的扩展
Microsoft ASP.NET Web API 2 Cross-Origin Support
:
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。