Я работаю над проектом в Laravel 5 и столкнулся с очень странной проблемой. Я пытаюсь создать раздел профиля пользователя, в котором пользователь может редактировать данные, а форма отправляется на маршрут POST
profile/update
.
По какой-то причине я получаю MethodNotAllowedHttpException
, но я уверен, что объявил его в файле маршрутов следующим образом:
Route::post('profile/update', 'ProfileController@update');
Просто из любопытства я изменил его на GET
как в файле маршрутов, так и в коде, который отправляет запрос ajax. К моему удивлению работает нормально. Я не могу понять как. По понятным причинам я не могу отправить GET
запрос на обновление профиля.
Аякс-код:
$.ajax({
url: '/profile/update',
type: 'POST',
dataType: 'JSON',
data: $('form#profile-form').serialize(),
beforeSend: function(request) {
return request.setRequestHeader('X-CSRF-Token', $("meta[name='token']").attr('content'));
}
});
Метод контроллера:
public function update(UpdateProfileRequest $request)
{
$data = $request->all();
$data['password'] = bcrypt($data['password']);
$user = auth()->user()->update($data);
return response()->json(auth()->user(), 200);
}
Что я делаю не так?
get
, вы также меняете ajax дляget
? - person Sougata Bose   schedule 09.05.2015routes.php
? - person Stuart Wagner   schedule 09.05.2015profile/{wildcard}
маршрут над ним, я этого не делаю. На самом деле, я поместил этот маршрут в начало файла, чтобы убедиться, но он все равно не будет работать. Проект является своего рода частным проектом. Мой работодатель не хочет, чтобы я показывал больше кода, чем необходимо. Я надеюсь, вы хотели увидеть файл маршрутов, чтобы убедиться в подстановочном знаке. Или вы имеете в виду что-то другое? - person Rohan   schedule 09.05.2015GET
, кстати. :) - person Rohan   schedule 09.05.2015php artisan route:clear
,php artisan optimize
иcomposer dump-autoload
? - person Azeame   schedule 09.05.2015MethodNotAllowedHttpException
, но когда я меняю его на get, он работает нормально. - person Rohan   schedule 10.05.2015