Пожалуйста, помогите мне, я не знаю, почему метод Laravel вызывается дважды, когда я использую команду этой команды для перенаправления на новую страницу:
Маршрут:
Route::post('/editor/create/{productCode}', 'EditorController@create')->name('create-new-design');
Route::get('/editor/{designCode}', 'EditorController@edit')->name('edit-design');
< Сильный > EditorController :
public function create($productCode) {
// .. do some thing & redirect to editor page
return redirect()->route('edit-design', ['designCode' => $newDesignCode], 301);
}
public function edit($designCode){
// this method is called twice
$design = Design::where('code', '=', $designCode)->first();
// do extra options --> return editor edit view
return view('editor.edit');
}
Поток:
Запрос пользователя на создание нового дизайна с помощью вызова [POST]: / editor / create / {productCode} -> Серверный процесс и создание Design Record, затем перенаправление пользователя на страницу редактора (-> / editor / {designCode}).
< сильный > Вопрос :
Почему функция редактирования публичной функции ($ designCode) вызывается дважды, когда пользователь перенаправляется на страницу редактирования (или перезагружает эту страницу после создания нового дизайна)?
< сильный > Примечание :
Этот проект я использую:
- Сервер Apache
- Ларавел 5.8. *
Спасибо,
2 ответа
Попробуй это
return redirect()->route('edit-design', ['designCode' => $newDesignCode]);
Не нужно проходить 301 снова. Я верю, что это может быть причиной. Или Вы можете поделиться своим методом редактирования. Он может содержать поиск политик / разрешений, который вызывает двойное выполнение.
Попробуйте вот так:
return redirect()->route('edit-design', $newDesignCode);
После каждого HTTP-запроса страница нуждается в обновлении. Это стандартная процедура. Если вы не хотите обновлять страницу, вы можете использовать вызовы AJAX и управлять событиями с помощью Javascript.
Похожие вопросы
Новые вопросы
laravel
Laravel - это бесплатная веб-инфраструктура PHP с открытым исходным кодом, созданная Тейлором Отвеллом и предназначенная для разработки веб-приложений по архитектурному шаблону модель-представление-контроллер (MVC) на основе Symfony. Исходный код Laravel размещен на GitHub и лицензирован в соответствии с условиями лицензии MIT.