簡體   English   中英

REST的cookie路徑在IE中失敗而沒有尾隨斜杠

[英]RESTful cookie path fails in IE without trailing slash

我被要求在具有RESTful URL且沒有斜杠(.NET MVC)的頁面上構建選項卡式部分,例如http:// myhost / books / the-amber-spyglass

為了使標簽部分更加用戶友好,我希望他們記住當用戶四處移動時在每個頁面上打開哪個選項卡,這樣如果他們返回到一本書,他們之前在同一個選項卡上仍然打開。 這是通過設置名為“tab”的cookie來實現的,其中值設置為tabid,路徑設置為它們所在的頁面(因此它不會影響其他頁面上的選項卡)。 到目前為止,你認為是非常基本的東西,它確實也很好用。

進入Internet Explorer。

在IE中,它顯示了一個帶有路徑/書籍/琥珀色 - 望遠鏡的cookie與上述URL不匹配,因此無法正確設置。 如果我添加一個尾部斜杠,所以路徑是/ books / the-amber-spyglass /而不是它工作正常 - 但我無法更改我們的URL模式,即使我可以“琥珀 - 望遠鏡”是一種資源,而不是夾。

有沒有人有一個推薦的解決方案,這肯定是非常常見的問題?

提前謝謝了,

JS

http://blogs.msdn.com/ieinternals/archive/2009/08/20/WinINET-IE-Cookie-Internals-FAQ.aspx

由於底層WinINET InternetGetCookie實現中存在一個模糊的錯誤,如果使用包含文件名的路徑屬性設置,IE的document.cookie將不會返回cookie。

例如,如果頁面設置了一個cookie,就像這樣:

Set-Cookie:HTTPSet-PathCookie = PASS; path = / check.htm

... cookie將與HTTP請求一起發送,但不會出現在document.cookie集合中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM