Ajax LARAVEL 419 POST 錯誤已解決
當嘗試在沒有正確的CSRF 令牌驗證的情況下發出Ajax POST 請求時,通常會發生此錯誤。 Laravel 實作了 CSRF 令牌保護,以防止來自外部來源的惡意請求。
問題:
對 /company 端點進行 Ajax 呼叫時遇到 POST 錯誤。
解決方案:
要解決此問題,您需要在 Ajax 請求中包含 CSRF 令牌。您可以透過將以下程式碼片段新增至Ajax 呼叫中來完成此操作:
$.ajaxSetup({ headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') } });
這會將產生的CSRF 令牌新增至Ajax 請求的標頭中,確保Laravel 可以驗證請求是否來自經過身份驗證的用戶。
說明:
Laravel 會自動為每個活動使用者會話產生唯一的 CSRF 令牌。此令牌儲存在 HTML 文件中的元標記中:
<meta name="csrf-token" content="your-generated-token" />
進行 Ajax 呼叫時,CSRF 令牌必須與儲存在元標記中的令牌相符。如果不匹配,Laravel 將拒絕請求並返回 419 錯誤。
替代解決方案:
如果您想從CSRF 令牌驗證中排除某些URI 路徑,您可以將它們新增至VerifyCSRFToken中間件中的下列陣列中:
protected $except = [ '/route_you_want_to_ignore', '/route_group/*' ];
以上是如何使用 Laravel 修復 Ajax 請求中的 419 POST 錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!