#laravel #vue.js
Вопрос:
При заполнении формы я хочу, чтобы она перенаправила меня на другую страницу, но я не могу попасть на эту страницу.
маршрут
Route::get('cotizacion-enviada', function () {
return view('quotationshippingvalid');
})->name('cotizacion-enviada');
контроллер
public function store(StoreQuotationShipping $request){
$data = $request->all();
$id = QuotationShipping::create([
'user_id' => $data['id'], //usuario alvaro por defecto
'nombre' => $data['nombre'],
'rut' => $data['rut'],
'telefono' => $data['telefono'],
'ciudad' => $data['ciudad'],
// 'direccion' => $direccion,
'sucursal' => $data['sucursal']
])->id;
return redirect()->route('cotizacion-enviada', [$id]);
}
Информация на странице появляется, но она перенаправляется на страницу, она остается на той же странице.
Ответ №1:
Вместо того , чтобы использовать return redirect()->route('cotizacion-enviada', [$id]);
, вы можете сделать
response()->json(["redirect" => route('cotizacion-enviada', [$id])]);
Затем в вашем приложении Vue проверьте, есть ли в вашем ответе ключ, названный redirect
с помощью obj.hasOwnProperty("redirect")
. И в теле условия вы также можете перенаправить на маршрут, который вы отправляете из метода контроллера.
Ответ №2:
Если вам нужен идентификатор в «cotizacion-enviada» , попробуйте это:
Route::get('cotizacion-enviada/{id}', function ($id) {
return view('quotationshippingvalid', ['id' => $id]);
})->name('cotizacion-enviada');
Если ваш маршрут отображает только файл представления, вы можете отображать представление непосредственно внутри контроллера.