MethodNotAllowedHttpException в строке RouteCollection.php 218 в Laravel

Я хочу использовать метод post в Laravel, но он генерирует исключение: MethodNotAllowedHttpException в строке RouteCollection.php 218.

Вот полная ошибка:

in RouteCollection.php line 218
at RouteCollection->methodNotAllowed(array('GET', 'HEAD')) in RouteCollection.php line 205
at RouteCollection->getRouteForMethods(object(Request), array('GET', 'HEAD')) in RouteCollection.php line 158
at RouteCollection->match(object(Request)) in Router.php line 766
at Router->findRoute(object(Request)) in Router.php line 621
at Router->dispatchToRoute(object(Request)) in Router.php line 607
at Router->dispatch(object(Request)) in Kernel.php line 268
at Kernel->Illuminate\Foundation\Http\{closure}(object(Request)) in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in CheckForMaintenanceMode.php line 46
at CheckForMaintenanceMode->handle(object(Request), object(Closure)) in Pipeline.php line 137
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 33
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in Pipeline.php line 104
at Pipeline->then(object(Closure)) in Kernel.php line 150
at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 117
at Kernel->handle(object(Request)) in index.php line 53
at require_once('E:\Laravel\myproject\public\index.php') in server.php line 21  

вот мой код формы:

<div id="education_form">
{{ Form::open(array('method' => 'post','data-parsley-validate')) }}
{{ Form::hidden('user_id', Auth::user()->id, array('id' => 'user_id')) }}


<div class="form-group">
    {{Form::label('school','School')}}<span class="required">*</span>
    {{Form::text('school',null,['class'=>'form-
    control','id'=>'school','placeholder'=>'Enter School Name'])}}
</div>
<div class="form-group">
    {{Form::label('degree','Degree')}}<span class="required">*</span>
    {{Form::text('degree',null,['class'=>'form-
    control','id'=>'degree','placeholder'=>'Enter Degree'])}}
</div>

<div class="form-group">
    {{Form::label('specialization','Specialization')}}
    {{Form::text('specialization',null,['class'=>'form-
    control','id'=>'specialization','placeholder'=>'Enter 
    Specialization'])}}
</div>
{{Form::submit('Save',array('id'=>'saveEducation','class'=>'form-submit btn 
btn-success btn-md pull-right'))}}

{{ Form::close() }}
</div>

Я передаю данные в ajax, используя URL-адрес, как показано ниже, поэтому в теге формы нет URL-адреса.

<script>
var urlSave = '{{ route('save') }}';
</script>

вот мой файл маршрута:

Route::post('/save', [
'uses' => 'MyController@save',
'as' => 'save'
]); 

Пожалуйста, дайте мне знать, какую ошибку я делаю... Спасибо!


person Kamlesh Gupta    schedule 13.05.2017    source источник
comment
проблема с одинарными кавычками var urlSave = {{ route('save') }};   -  person JYoThI    schedule 13.05.2017
comment
Спасибо за ваш ответ, но это не сработало. На самом деле данные сохраняются в базе данных, но затем выдает ошибку   -  person Kamlesh Gupta    schedule 14.05.2017


Ответы (2)


Вы должны попробовать это:

$.ajax({
    url : "{!! route('save') !!}",
    type: "post",
    data : {data:hierarchy.nestable('serialize')},
    success: function(data) {
        //Proceed to success
    },
    error: function (jqXHR, textStatus, errorThrown) {
        //Check for error
    }
});

OR передайте метод действия в виде:

{{ Form::open(array('route' => 'route','method' => 'post','data-parsley-validate')) }}
person AddWeb Solution Pvt Ltd    schedule 13.05.2017
comment
Спасибо за ответ, но вышеуказанное решение не сработало. На самом деле данные сохраняются в базе данных, но затем выдает ошибку. Пожалуйста, дайте другое решение, если вы знаете. - person Kamlesh Gupta; 14.05.2017

одинарные кавычки заканчивались перед словом save и начинались снова после сохранения

Uncaught SyntaxError: неожиданный идентификатор

var urlSave = "{{ route('save') }}";
person JYoThI    schedule 13.05.2017
comment
Я пробовал это, но не работал. На самом деле данные сохраняются в базе данных, но затем выдает ошибку. Спасибо за ваш ответ. - person Kamlesh Gupta; 14.05.2017