thinkphp5 redirect跳转

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thinkphp5 redirect跳转相关的知识,希望对你有一定的参考价值。

参考技术A

重定向

\\think\\Controller类的redirect方法可以实现页面的重定向功能。

redirect方法的参数用法和Url::build方法的用法一致(参考URL生成部分),例如:

//重定向到News模块的Category操作$this->redirect('News/category', ['cate_id' => 2]);

上面的用法是跳转到News模块的category操作,重定向后会改变当前的URL地址。

或者直接重定向到一个指定的外部URL地址,例如:

//重定向到指定的URL地址 并且使用302$this->redirect('http://thinkphp.cn/blog/2',302);

可以在重定向的时候通过session闪存数据传值,例如

$this->redirect('News/category', ['cate_id' => 2], 302, ['data' => 'hello']);

使用redirect助手函数还可以实现更多的功能,例如可以记住当前的URL后跳转

redirect('News/category')->remember();

需要跳转到上次记住的URL的时候使用:

redirect()->restore();

参考手册:thinkphp重定向

使用Redirect跳转

实现方法

[HttpGet("/Redirect")]
public IActionResult Redirect(string url, string title = null, bool sucess = true) {
    ViewRedirect model = new ViewRedirect();
    model.Url = url.IsNullOrEmpty() ? "/Index" : url;
   
    model.IsSucess = sucess;
    if (model.IsSucess) {
        model.Title = title.IsNullOrEmpty() ? "操作成功" : title;
    }else {
        model.Title = title.IsNullOrEmpty() ? "操作失败" : title;
    }
    return View(model);
}

 示例:

  url = $@"/Redirect?url={url}&title=会员注册成功";
  return Redirect(url);

 显示效果

以上是关于thinkphp5 redirect跳转的主要内容,如果未能解决你的问题,请参考以下文章

thinkPHP5.0中使用header跳转没作用

ThinkPhp5 数据迁移(think-migration)

关于thinkphp5手动抛出Http异常时自定义404页面报错的问题

thinkphp5.0--auth权限

安装thinkphp5

如何使用Git安装ThinkPHP5.1