簡體   English   中英

Fetch api 無法按預期使用 rails 作為后端進行反應

[英]Fetch api does not work as expected from react using rails as a backend

當我想銷毀會話時(當我注銷用戶時)使用 fetch api 從 react 發出刪除請求時遇到問題。我收到此錯誤消息ActionController::RoutingError(沒有路由匹配 [DELETE] “/”):這是來自 function 注銷的代碼:

 logOut(){
        const token=document.querySelector('meta[name="csrf-token"]').content;
        fetch("/session",{
            method:"DELETE",
            headers:{
                "X-CSRF-Token":token,
                "Content-Type":"application/json"
            }
        })

這是來自 sessions_controller 的代碼

def destroy
        current_user.reset_session_token!
        session[:session_token]=nil
        redirect_to "/"
    end

我沒有通過 fetch 方法在 url 中傳遞 id,因為我可以使用 current_user 獲取當前登錄的用戶。當我重新加載用戶已注銷的頁面時,我得到了奇怪的行為,我現在不知道為什么會這樣。我已經查過了這里有很多線程,但我沒有發現類似的問題。提前謝謝你。

在您的路線中,您需要:

delete 'session', controller: :session, action: :destroy

暫無
暫無

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

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