【问题标题】:How to catch a redirection RedirectResponse from Vuejs and redirect如何从 Vuejs 捕获重定向 RedirectResponse 并重定向
【发布时间】:2019-10-16 14:29:15
【问题描述】:

我正在尝试使用laravel/cashier-mollie 付款。我只使用 vuejs 作为前端。

这是我的控制器:

public function __invoke(string $plan)
    {
        $user = Auth::user();

        $name = ucfirst($plan) . ' membership';

        if(!$user->subscribed($name, $plan)) {

            $result = $user->newSubscriptionViaMollieCheckout($name, $plan)->create();

            if(is_a($result, RedirectResponse::class)) {
                return $result; // Redirect to Mollie checkout
            }

            return response()->json([
               'status' => 'Félicitation, vous êtes inscrit au ' . $plan . ' plan'
            ]);
        }

        return response()->json([
            'status' => 'Vous êtes déjà inscrit au ' . $plan . ' plan'
        ]);
    }

我通常应该被重定向到内部 Mollie 页面以进行付款。因为我使用 Vuejs,所以我不是。

在 chrome 中,我得到了很好的 xhr。当我将链接复制/粘贴到浏览器中时,我会重定向到 Mollie。

我试过了,但答案只返回空项目:

return response()->json($result);

回应:

{"headers":{},"original":null,"exception":null}

如何获取重定向链接,以便使用 Vuejs 将用户重定向到 Mollie?

【问题讨论】:

    标签: javascript php laravel vue.js


    【解决方案1】:

    当您进行 XHR 请求并且您的服务器发送重定向响应时,它会重定向此 XHR 请求,而不是浏览器本身。

    您应该使用一些包含重定向 URL 的 JSON 进行响应,这些重定向 URL 可以在您的客户端中用于将浏览器重定向到(不推荐),或者根本不发送 XHR 请求,而只是将客户端的浏览器发送到 URL 上稍后重定向。

    【讨论】:

      猜你喜欢
      • 2020-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-09
      • 1970-01-01
      • 2011-04-22
      • 2011-09-08
      • 1970-01-01
      相关资源
      最近更新 更多