解決Laravel 中AJAX POST 請求的CSRF 令牌不符問題
在Laravel 中發出CSAJAX POSTST 請求時,必須包含在Laravel 中發出CS 命令牌防止跨站請求偽造攻擊。在本文中,我們將解決「ajax POST 請求的 CSRF 令牌不符」問題。
問題描述
您正在嘗試從資料庫中刪除資料通過 AJAX 請求。您的 HTML 包含點擊後會觸發刪除的連結。對應的 AJAX 程式碼會向特定 URL 發送 POST 請求。但是,刪除失敗,並且您收到“CSRF 令牌不符”錯誤。
解決方案
要解決此問題,您必須在 AJAX 中包含 CSRF 令牌要求。這可以透過將以下行新增至資料參數:
data: { "_token": "{{ csrf_token() }}", "id": id }
其中 id 代表您嘗試刪除的記錄的 ID。此令牌可確保伺服器在執行刪除操作之前驗證請求。
更新的AJAX 代碼
以下是包含CSRF 令牌的更新的AJAX 代碼:
$('body').on('click', '.delteadd', function (e) { e.preventDefault(); //alert('am i here'); if (confirm('Are you sure you want to Delete Ad ?')) { var id = $(this).attr('id'); $.ajax({ method: "POST", url: "{{url()}}/delteadd", data: { "_token": "{{ csrf_token() }}", "id": id } }).done(function( msg ) { if(msg.error == 0){ //$('.sucess-status-update').html(msg.message); alert(msg.message); }else{ alert(msg.message); //$('.error-favourite-message').html(msg.message); } }); } else { return false; } });
以上是如何修復 Laravel 中的「AJAX POST 請求的 CSRF 令牌不符」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!