3 回答

TA貢獻(xiàn)1993條經(jīng)驗 獲得超6個贊
您將需要從 ajax 調(diào)用中欺騙您的方法,假設(shè)easyAjax允許它應(yīng)包括的數(shù)據(jù)屬性:
data: {
'_method' : 'PUT'
},
此外,您需要包含您的 csrf 令牌:
data: {
'_method' : 'PUT',
'_token' : '{{csrf_token()}}'
},
注意: '{{csrf_token()}}'只要腳本是刀片視圖的一部分,就可以工作。如果沒有,則使用標(biāo)題:
headers: {
'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content')
}
如果您需要使用標(biāo)頭來包含您的 csrf 令牌,請確保在文檔的頭部部分包含元標(biāo)記:
<meta name="csrf-token" content="{{ csrf_token() }}">
完整的解決方案:
$('#save-form').click(function () {
$.easyAjax({
url: '{{ route('admin.settings.update', ['1']) }}',
container: '#editSettings',
type: "POST",
data: {
'_method' : 'PUT',
'_token' : '{{csrf_token()}}'
},
redirect: true,
file: (document.getElementById("logo").files.length != 0 ||
document.getElementById("login_background").files.length != 0) ? true : false
})
});

TA貢獻(xiàn)1794條經(jīng)驗 獲得超7個贊
您正在發(fā)布數(shù)據(jù)。當(dāng)您在路由器中發(fā)布數(shù)據(jù)并使用資源時,laravel 會調(diào)用 store 函數(shù),而您的路由不允許(['only' => ['edit', 'update', 'index', 'change-language']).
為了測試它,將商店功能添加到您的路線中,dd($request);
您可以看到您的request;

TA貢獻(xiàn)1801條經(jīng)驗 獲得超8個贊
這正是問題所在。最后我寫了下面的代碼來得到預(yù)期的結(jié)果
$('#save-form').click(function () {
$.easyAjax({
url: '{{ route('admin.settings.update', ['1']) }}',
container: '#editSettings',
type: "POST",
data: {
'company_name': $('#company_name').val(),
'company_email': $('#company_email').val(),
'company_phone': $('#company_phone').val(),
'website': $('#website').val(),
'address': $('#address').val(),
'currency_id': $('#currency_id').val(),
'timezone': $('#timezone').val(),
'locale': $('#locale').val(),
'latitude': $('#latitude').val(),
'longitude': $('#longitude').val(),
'_method' : 'PUT',
'_token' : '{{csrf_token()}}'
},
redirect: true,
file: (document.getElementById("logo").files.length != 0 || document.getElementById("login_background").files.length != 0) ? true : false
})
});
- 3 回答
- 0 關(guān)注
- 144 瀏覽
添加回答
舉報