簡體   English   中英

某些頁面上的 Laravel CSRF 令牌不匹配

[英]Laravel CSRF Token Mismatch on some pages

我有這個 javascript 文件,它每 8 秒運行一次,調用路由/ajax?act=notifications_show 我注意到在某些頁面上,javascript 文件可以正常工作,但是在訪問某些頁面時,它會顯示錯誤,例如CSRF token mismatch 我不確定為什么會發生這種情況,但頁面的布局與我擴展的布局相同。

請注意,我已經為每個布局添加了<meta name="_token" content="{{ csrf_token() }}"/>

通知.js

function get_notifications(){
    $.ajax({
        method: "POST",
        url: window.location.origin + "/ajax?act=notifications_show",
    }).done(function( d ) {
        console.log("d: "+ d);
        // n = jQuery.parseJSON(d); //if error abort all commands below
        // console.log("n: "+ n);
        // //console.log(n.qqq);
        // $('#header_notification_bar').html(n.notification);
        // //alert(n.qqq);
        // if(n.has_noti == 1){
        //  toastr.info('<div><a href="#" onclick="toggle_comments('+n.id+')">'+n.noti_msg+' from '+n.noti_from+'</a></div>');
        // }        
    });
}
function toggle_comments(id){   
    $('body').toggleClass('page-quick-sidebar-open');
    $('#msg_contents').html('');
    get_chat_area(id);
    get_comments(id);
}
window.onload = function(e){    
    $('.dropdown-quick-sidebar-toggler').click(function (e) {   
        $('body').toggleClass('page-quick-sidebar-open');   
        $('#msg_contents').html('');
        get_chat_area(this.id);
        get_comments(this.id);
    }); 
    setInterval(get_notifications, 8000);

    $.ajaxSetup({
        headers: {
            'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
        }
    });
}

錯誤顯示message: "CSRF token mismatch." trace: [{,…}, {file: "C:\\xampp7\\htdocs\\vms\\app\\Exceptions\\Handler.php", line: 53, function: "render",…},…] message: "CSRF token mismatch." trace: [{,…}, {file: "C:\\xampp7\\htdocs\\vms\\app\\Exceptions\\Handler.php", line: 53, function: "render",…},…]

動圖鏈接

我的問題是:為什么錯誤顯示在某些頁面上,但在其他頁面上有效? 當令牌不匹配時如何解決此問題?

我發現了問題,我錯了並非所有頁面都有 csrf 的元標記。 我假設我的開發伙伴遵循了我的實現,但似乎他沒有使用我的擴展,這就是為什么它在某些頁面上顯示錯誤的原因。

<meta name="_token" content="{{ csrf_token() }}"/>

暫無
暫無

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

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