首页 > 解决方案 > 拉拉维尔 | 重定向不会更改 URL

问题描述

我正在使用来自支付提供商的 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让我们说。

任何想法为什么会发生这种情况?


更新截图: 在此处输入图像描述

标签: laravelredirectiframelaravel-controller

解决方案


推荐阅读