cakephp - CakePHP 中的重定向和渲染有什么区别?

标签 cakephp redirect

除了重定向和渲染之外,还有其他命令可以将 Controller 重定向到特定 View 页面吗?

我的重定向为

$this->redirect('/forms/homepage/'.$userId);

但是如果我给

$this->render('/forms/homepage/'.$userId);

它不会被重定向到该页面。

有什么问题吗?

最佳答案

对redirect()的调用发出HTTP redirect 。重定向后什么也不会发生,因为 CakePHP 就停止了。您在重定向调用之后放置的任何内容都不会被执行。相反,浏览器只是向您重定向到的 URL 发出新的 HTTP GET。

对 render() 的调用只是加载一个 View 。它需要一个 View 路径,而不是 URL。它不重定向。假设您的情况下 $userID 为“101”。对 render() 的调用将尝试加载以下文件:

应用程序/ View /表单/homepage/101.ctp

由于该文件不存在,因此什么也不会发生。

关于cakephp - CakePHP 中的重定向和渲染有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1073564/

相关文章:

javascript - 带有完整站点链接的移动站点重定向

php - Cakephp-3.x : How to change the data type of a selected alias?

php - 如何更改 cakephp View 中的默认标记路径

php - CakePHP 使用 JOIN 查找方法

javascript - 当alert()框打开并且在一段时间内没有点击 "OK"时如何重定向页面

登录成功后 Spring Security 重定向到上一页

CakePHP $this->Auth->login() 不起作用

cakephp - 在Cakephp中限制SQL的查找功能

java - Spring MVC 重定向是在 url 中添加一些参数

c# - 如何最好地在 C# ASP.Net 中加扰或隐藏获取查询字符串值?