Ajax в laravel 5.1 для хранения Entity MethodNotAllowedHttpException

У меня проблемы с попыткой сохранить данные в laravel, делая запрос ajax. У меня есть хороший маршрут.

Route::post('system/match_events/store','Match_eventsController@store');

Мой контроллер имеет метод хранения:

public function store(Match_eventRequest $request)
{

    $params = $request->all();
    $match_event = new Match_event($params);
    $match_event->save();

    return 'true';
}

Яваскрипт такой:

postData = { 
    _token: $('#form-hack input[name=_token]').val(), 
    player_id: "1",
    match_event_type_id: "1",
    match_id: "1",
    team_id: "2",
};
$.post("{{ url('/system/match_events/store') }}", postData)
    .fail(function(data) { 
    alert("There was an error with saving data: " );
});

Но он возвращает MethodNotAllowedHttpException


person Yargo.ar    schedule 15.12.2015    source источник
comment
Попробуйте удалить косую черту в начале URL-адреса — она не нужна, когда вы создаете ее с помощью помощника: {{ url('system/match_events/store') }}   -  person James    schedule 15.12.2015


Ответы (1)


Вы увидите путь запроса на вкладке «Сети» в браузере.

Если вы сделаете это с помощью помощника

{{ url('/system/match_events/store') }}

тогда запрос будет

yourappname.com//system/match_events/store

Которого не было бы на вашем маршруте

Так что удалите / в параметре URL и поставьте лайк

{{ url('system/match_events/store') }}

Совет:

Вы должны отладить это самостоятельно, изменив URL-адрес из запроса ajax, увидев вкладку «Сети» рядом с вашей консолью.

Надеюсь, это поможет вам

person Sulthan Allaudeen    schedule 15.12.2015
comment
Нет. Проблема в другом. Раньше я пробовал с get и просто возвращал представление и работал хорошо. Возможно, чтобы вставить код сюда, я использовал старую версию, но она уже была исправлена, когда я публикую. - person Yargo.ar; 16.12.2015