1
試圖讓鳳凰城的ajax工作。我通過執行以下操作獲得CSRF令牌,所以我把它:鳳凰CSRF令牌不匹配
<input type="hidden" id="_csrf_token" name="_csrf_token" value="<%= get_csrf_token() %>">
然後使用它像這樣:
$.ajax({
type: "POST",
url: "<%= lesson_path @conn, :create %>",
beforeSend: function(xhr)
{
token = $('#_csrf_token').val();
xhr.setRequestHeader('_csrf_token', token);
},
data: data,
success: function(data, textStatus, jqXHR) {
alert(textStatus);
}
});
的問題是,該令牌我得到的是不正確的令牌。看着谷歌瀏覽器檢查員,我得到一個403請求,說有一個無效的csrf標記。有效會話令牌總是不同於它給我的令牌。得到像這樣的東西IiJndz5FeV9MMhIKMzggUTtmHUALAAAAkJ/6Yr/k4BxdiKmiaMUqsw==
它通常想要這樣的東西hHAg7V4xpjnZsM8Z+H1xw==
任何想法,爲什麼我會得到一個不同的令牌比它想要的?
我曾嘗試以下還有:
Plug.Conn.get_session(conn, :csrf_token)
Map.get(conn.req_cookies, "_csrf_token")
兩個結果沒有返回。
剛玩這個周圍,就是這樣。謝謝!!! –
很高興幫助。 – TheAnh