公司一個移動后端的項目用到了
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
: