【问题标题】:How to return to a view from controller after an Api call Laravel 8?Api 调用 Laravel 8 后如何从控制器返回视图?
【发布时间】:2021-08-29 02:39:27
【问题描述】:

我必须调用 API 来更新购物车,但更新后它不会从控制器索引函数呈现到支付页面

API.PHP

Route::post('cart',[Controller::class, 'index']);

控制器

public function index(){
// updating values 
return view('payment');
}


WEB.PHP 文件

Route::get('/payment', function () {
    return view('payment');
});


【问题讨论】:

  • 我猜你需要在index方法中重定向到支付页面redirect()->route('/payment')。你可以试试这个方法吗?
  • 您不会从 API 调用返回视图。您将返回包含成功或失败消息的响应,并根据响应执行适当的操作。

标签: php laravel api routes laravel-blade


【解决方案1】:

您应该首先检查来自 API 的响应。根据响应,您可以进行活动。在您的情况下,您可以使用以下方法。

public function index(){
 try {
    //$response = API::functionName($requestData);
    if ($response === 'success') {
        //redirect to payment page
    } else {
        //same page with error message;
    }
 } catch (\Throwable $th) {
    dd($th->__toString());
 }
}

【讨论】:

  • 唯一的问题是重定向命令。其他都还好
  • 你在使用Ajax吗?如果是,那么你需要处理响应检查并使用window.location.href="/payment"。如果不使用Ajax,则将此代码放入索引方法redirect()->route('/payment');
猜你喜欢
  • 2015-10-15
  • 1970-01-01
  • 1970-01-01
  • 2020-11-24
  • 1970-01-01
  • 1970-01-01
  • 2020-06-07
  • 1970-01-01
  • 2020-01-13
相关资源
最近更新 更多