1,跨域請求ajax,可以增加請求Header,動態添加
System.Collections.Generic.List<string> lHost = new System.Collections.Generic.List<string>();
#region 添加允許跨域請求的域名列表
lHost.Add("www.p2pxinwen.com");
lHost.Add("m.p2pxinwen.com");
#endregion
string host = context.Request.UrlReferrer == null ? "" : context.Request.UrlReferrer.Host;//獲取從哪個域名發送的ajax請求本頁面或者是直接訪問
if (lHost.Contains(host))
{ //在允許的域名列表里面才添加Access-Control-Allow-Origin響應頭
context.Response.AddHeader("Access-Control-Allow-Origin", "http://" + host);
}
2,如果跨域請求svg、woff文件,需要在iis中配置響應頭,但是只能實現一個域名或者是任意域名,不能是指定的多個域名。
解決辦法:1.打開IIS,選擇Default Web Site,
再選擇HTTP響應標頭
添加
Access-Control-Allow-Credentials:true
Access-Control-Allow-Headers:origin,x-requested-with,content-type
Access-Control-Allow-Methods:POST,GET,OPTIONS
Access-Control-Allow-Origin:*
四項
最終結果是
然后我用localhost和127.0.0.1都可以打開
3,跪求如何實現iis配置,或者其他方法,多個指定的域名跨域訪問,歡迎回帖。
(1)Access-Control-Allow-Origin
該字段是必須的。它的值要么是請求時Origin
字段的值,要么是一個*
,表示接受任意域名的請求。
(來源:http://www.voidcn.com/blog/wangzl1163/article/p-6341208.html)