第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

方法不允許 Http 異常 Ajax 請求

方法不允許 Http 異常 Ajax 請求

PHP
繁星點點滴滴 2021-08-28 18:45:46
我正在嘗試通過 laravel 5 中的 ajax 更新一些數(shù)據(jù),但我面臨 MethodNotAllowed Http 異常。所以,我在 web.php 中創(chuàng)建了一個資源路由,一個 HTML 表單,用于在文本框中預(yù)填充一些數(shù)據(jù),以及一些 ajax 代碼。Web.php 的代碼,前綴為 admin。Route::resource('settings', 'OrganisationSettingsController', ['only' => ['edit', 'update', 'index', 'change-language']]);Html 表單代碼{!! Form::open(['id'=>'editSettings','class'=>'ajax-form','method'=>'PUT']) !!}//Input Elements Goes Here...                                    {!! Form::close() !!} Ajax 調(diào)用代碼$('#save-form').click(function () {    $.easyAjax({        url: '{{ route('admin.settings.update', ['1']) }}',        container: '#editSettings',        type: "POST",        redirect: true,        file: (document.getElementById("logo").files.length != 0 || document.getElementById("login_background").files.length != 0) ? true : false    })});當(dāng)用戶單擊更新按鈕時,數(shù)據(jù)必須更新,但我在瀏覽器的控制臺中得到了 http 方法不允許異常。
查看完整描述

3 回答

?
ibeautiful

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

    })

});


查看完整回答
反對 回復(fù) 2021-08-28
?
慕田峪9158850

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;


查看完整回答
反對 回復(fù) 2021-08-28
?
蝴蝶刀刀

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

        })

    });


查看完整回答
反對 回復(fù) 2021-08-28
  • 3 回答
  • 0 關(guān)注
  • 144 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號