2017-08-12 36 views
1

我正在嘗試Rails 5.1中的Webpack的新支持來管理我的Vue應用程序。我目前不知道如何輕鬆訪問CSRF令牌。從previous answers to this question建議似乎陷入類別:帶Webpack的Rails 5.1:訪問CSRF令牌

  • 使用ERB(即my-app.js.erb)嵌入form_authenticity_token Rails的助手到的JavaScript文件直接
  • 使用jQuery來從頁頭具有CSRF的meta標籤令牌嵌入到它。

就我而言,第一個根本不起作用,大概是因爲將ERB文件處理成JS文件是資產管道的一部分,但Webpack現在正在處理該構建任務。第二種方法可以工作,但目前我沒有在我的package.json中包含jQuery,並且僅僅爲了這個目的而包含它似乎有點矯枉過正。

我確定我可以寫一點JS代碼來找到DOM中的meta標籤,並獲得CSRF標記,但我只是想知道是否有更簡潔的方式,我錯過了?

回答

2

配香草JS就做:

document.querySelectorAll('meta[name="csrf-token"]') 
+0

我曾經考慮過'querySelectorAll'但我認爲這是不是在我需要支持所有瀏覽器普遍存在。但根據https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelectorAll我錯了,所以這似乎是一個好方法。謝謝。 –