我來自己寫一下答案,以給后來的朋友一點思路和建議:
1,首先把Access-Control-Allow-Origin設置成*是不妥的,自己的接口服務器不能允許所有人都可以訪問。
2,具體哪里可以設置Access-Control-Allow-Origin呢,
a,web.config中可以設置;
b,需要在IIS服務器站點的功能視圖中設置HTTP響應標頭;
(a,b可以參考:http://www.th7.cn/Program/net...)
c,通過nginx代理服務器進行設置;
d,修改接口api,在每個api上添加響應頭;https://docs.microsoft.com/en...
e,攔截器方式(是d的一種封裝)http://ask.csdn.net/questions...或http://stackoverflow.com/ques...
ab只能設置一個域名或*,
c需要更多知識背景,配置更多環境,相對windows Server來說不太適合
d,是微軟給出的最終解決方案,但是不是最佳方案,
e是對d的一種封裝,寫一個攔截器,應用到所有控制器上,在攔截器里控制來訪域名,動態設置Access-Control-Allow-Origin的值.
根據自己情況選擇合適的解決方案,這里我選擇了e方案
ie9以下的支持方案:
A CORS proxy for IE9 and below (jQuery + ASP.NET)