我正在爲Bootstrap和AngularJS編寫C#MVC後端代碼的前端應用程序。爲什麼我無法從AngularJS或甚至純JavaScript獲得__RequestVerificationToken的值?
使用Chrome的開發者控制檯(和任何其他瀏覽器,包括IE),我可以看到一個cookie稱爲__RequestVerificationToken
,如下面示出了圖像:
我明白這是用於防止技術CSRF攻擊。無論如何,因爲這個cookie在那裏,我試圖使用AngluarJS模塊$cookies
獲得它的值,但它總是返回undefined
,並且打印document.cookie
不顯示它。下面是使用的代碼:
...
this.initApp = function() {
console.log('Value of __RequestVerificationToken: "' + $cookies.__RequestVerificationToken + '"'); // Angular way
console.log('Cookie: "' + document.cookie + '"'); // Pure JavaScript
};
...
所以我的問題是,爲什麼我不能得到它的價值如果cookie是存在的,在每一個響應被髮送到客戶端,以及如何獲得它的價值?
我試圖避免在我看來剃刀語法,還有沒有其他的辦法嗎?當然,如果這是我爲之奮鬥的唯一解決方案。 – 2014-11-04 20:39:07
你可以看看這個[SO問題](http://stackoverflow.com/questions/14925446/how-to-get-antiforgerytoken-value-without-hidden-input) – 2014-11-04 20:44:51