在之前的專案中,我們設定跨域都是直接在web.config中設定的。
access-control-allow-origin如果還是設定成「*」就會報錯,當然是前端報錯。。。資料返回還有cookie/session都還是能存,但是報錯就不爽了啊。
於是,想著整改一下。
先上前端**。來個頁面遠端ajax請求去設定session。啥都沒有,就是點按鈕,發個請求。標記地方是必須加的
@然後再來個頁面,獲取上個頁面設定的session。"set()
">設定session
@section scripts
@後台**"get()
">獲取session
@section scripts
1.先允許webapi使用session
在global中加入如下**
public2.允許跨域。我這裡使用的是microsoft.aspnet.webapi.corsoverride
void
init()
sender, eventargs e)
先安裝包,然後在webapiconfig中加入如下**。等同於在web.config中設定
//在請求方法上打上[enablecors]標籤,特指某一些網域名稱的訪問需要cookie/session允許跨域
config.enablecors(new enablecorsattribute("
*", "
*", "
*"));
獲取session
/// ///
public
dynamic
getsession()};}
結果:
跨域共享cookie和跨域共享session
的父網域名稱.cookie4可以被提交,因為domain和cookie都嚴格保持一致.這裡需要注意的是,在瀏覽器看來.www.vinceruan.info不是blog.vinceruan.info 的父網域名稱,而vinceruan.info才是blog.vinceruan.info的父網域名稱,w...
Web API中使用CORS解決跨域
如果兩個頁面的協議,埠和網域名稱都相同,則兩個頁面具有相同的源,注 ie不考慮埠,同源策略不會阻止瀏覽器傳送請求,但是它會阻止應用程式看到響應。如下圖所示 cors是乙個w3c標準,全稱是 跨域資源共享 cross origin resource sharing 它允許瀏覽器向跨源伺服器,發出請求。...
webapi支援跨域訪問
在實際應用中,跨域請求還是比較常見的,如何上介面直接支援跨域的訪問呢?場景專案a有個介面用來獲取使用者列表,現在專案b也有個功能需要載入使用者列表。這兩個專案在兩個網域名稱下,至少埠好不同。使用angularjs中的 http發起請求。首先用postman模擬請求,驗證介面是正確的。現在專案b想通過...