1. 程式人生 > >laraval中使用post提交資料中報token的問題

laraval中使用post提交資料中報token的問題

在我們使用laravel框架做專案時,經常會使用post方法提交資料,例如檔案上傳,表單提交,或者處理一些大資料。

我相信大家對於用post提交表單資料時的token處理都懂,就是傳一個隱藏域

<input type="hidden" name="_token" value="<?php echo csrf_token(); ?>">
或者在blade模板引擎
<input type="hidden" name="_token" value="{{ csrf_token() }}">
而我所要說的是在laravel中使用ajax時對token的解決
首先我們要了解post提交資料是在header頭顯示
所以我們可以採用官方的解決方法
<
meta
name="csrf-token" content="{{ csrf_token() }}" />
$.ajaxSetup({ headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') } });
這樣我們在每次呼叫ajax時都會自動載入CSRF token
我們還可以在post請求是將CSRF token當引數傳過去。
我們可以開啟瀏覽器調節工具檢視
CSRF token值是否傳過去。
注意!!!當我們提交大資料如視訊時別忘了改php.ini中post傳送資料大小,如果過小所傳資料會被自動擷取。