Laravel | перенаправление не изменяет URL

#laravel #redirect #iframe #laravel-controller

#laravel #перенаправление #iframe #laravel-контроллер

Вопрос:

Я использую API от поставщика платежей.

В какой-то момент я показываю пользователю страницу, где он может аутентифицироваться (введите код, который отправит ему поставщик платежей). Обратите внимание, что на этой странице я отображаю div элемент, который поставщик платежей предоставил мне через запрос API, который я сделал ранее (для этого я использовал Guzzle).

После того, как пользователь вводит код и нажимает «Отправить», поставщик платежей перенаправляет его на одну из моих страниц — скажем /redirect так. Итак, в моем web.php у меня есть маршрут:

 Route::post('/redirect', 'OrdersController@redirect');
 

В моем OrdersController я делаю это:

 // do various stuff like updating the order status

return redirect("orders/$order->id");
 

Существует другой маршрут в web.php :

 Route::get('/orders/{order}', 'OrdersController@show');
 

И вот show метод:

 return view('orders/show', [
    'order' => $order,
    'page_title' => 'Order Receipt',
]);
 

Две вещи идут не так:

  1. Пользователю показывается orders/show представление, но кажется, что оно находится в iframe: введите описание изображения здесь
  2. URL-адрес страницы не изменяется. Например, он не отображается myapp.test/orders/435 . Вместо этого он по-прежнему показывает URL предыдущей страницы (той, на которой пользователь аутентифицировался) — что-то вроде myapp.test/authenticate , скажем.

Есть идеи, почему это происходит?


Обновление со скриншотом: введите описание изображения здесь

Комментарии:

1. On this page, I render a div element that the payment-provider has given me through an API request I made previously -> содержит ли он iframe?

2. » но похоже, что это в iframe » Вы можете легко проверить, есть ли iframe, просмотрев исходный код HTML страницы

3. return view('orders/show') не должно быть return view('orders.show') ? Точка вместо косой черты?

4. @VadimSirbu Я обновил описание скриншотом. Моя страница отображается внутри iframe.

5. @brombeer вы, конечно, правы — я был слишком сонным, чтобы думать об этом — описание обновлено