除了重定向和渲染之外,还有其他命令可以将 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/