- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我想从另一个页面切换到一个页面时,我可以同时找到$this->dispatcher->forward()
和 $this->response->redirect()
.两者似乎都可以正常工作。
它们之间有什么区别,我什么时候应该使用一个而不是另一个?
最佳答案
广义而言,Redirect
将进行 http 重定向(使用 header 位置)。这意味着客户端的浏览器将更改页面。它处理到一个新的路由(它也可以用来去另一个网站),实际脚本将结束。
而Forward
是内部的,客户端的浏览器不会看到任何区别,您只需执行不同的 Controller 。调度循环允许用户将执行流转发到另一个 Controller / Action 。这对于检查用户是否可以访问某些选项、将用户重定向到其他屏幕或简单地重用代码非常有用。但是,请记住,进行“转发”与进行 HTTP 重定向不同。虽然他们显然得到了相同的结果。 “转发”不会重新加载当前页面,所有重定向都发生在单个请求中,而 HTTP 重定向需要两个请求才能完成该过程。
类似的类比也可以在 JSP 中显示,sendRedirect(String path)
HttpServletResponse
的方法将告诉客户端它应该向指定路径发送请求。所以客户端会构建一个新的请求并提交给服务器。客户端的历史记录将被更新,因此前进和后退按钮将起作用。此方法对于重定向到其他服务器和域上的页面很有用。RequestDispatcher
的转发方法将转发ServletRequest
和 ServletResponse
它被传递到 getRequestDispatcher(String path).
中指定的路径响应不会被发送回客户端,因此客户端不会知道服务器上资源的这种变化。此方法对于在服务器资源(servlet 到 servlet)之间进行通信很有用。这种方法比使用 sendRedirect
更快因为不需要到服务器和返回的网络往返。
关于phalcon - phalcon 中的重定向和调度有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27900017/
当我想从另一个页面切换到一个页面时,我可以同时找到$this->dispatcher->forward()和 $this->response->redirect() .两者似乎都可以正常工作。 它们之
我在 Ubuntu 15 中运行并安装了 Phalcon v3,但我对我们当前使用 Phalcon v2 的 API 有问题,有没有办法将我安装的 Phalcon 的当前版本降级到以前的 v2? 最佳
我上下搜索,但找不到 Phalcon\Tag 或 Phalcon\Forms 哪一个更适合创建表单。 这两个类都具有创建表单元素的功能。但我发现 Phalcon\Tag 中有一些方便的标签,例如 Ph
我所有的 Controller 都在命名空间 MyApp\Controllers 下因此,正如文档所推荐的那样,我已将默认命名空间设置为: $dispatcher->setDefaultNamespa
我正在使用 Phalcon PHP 制作项目。我已经使用 phalconphp.com 中的说明安装了 Phalcon 和 Phalcon devtools . 我已成功创建我的项目,但 PhpSto
是否可以从 Phalcon 中的查询构建器实例中提取原始 sql 查询?像这样的东西? $queryBuilder = new Phalcon\Mvc\Model\Query\Builder(); $
我正在用 php Phalcon 开发一个项目。 我正在使用 Xampp 服务器。我遵循的安装过程位于此链接上: http://docs.phalconphp.com/en/latest/refere
我有一个 location 表,其中包含该点的 lat、lng 和 geohash 列,以及关联的位置 Phalcon 模型。在 MySQL 中,我有一个 before insert 类型触发器函数,
我正在为我的 PhalconPHP 应用程序使用“多模块”MVC 结构。 我想弄清楚的一个问题是如何将我的“主布局” View 配置为位于模块 View 文件夹之上。 换句话说,我想要一个主“主布局”
我需要知道如何使用 phalcon 模型进行子查询类型选择? 例如,我想选择所有查看过我的用户,它们存储在 UserView 表中,列为“id”、“user_from”、“user_to”(由用户表
我正在尝试安装 Phalcon4与 php7.4-fpm我看到 phalcon 的 ini 文件已加载到我的 phpinfo() 中。这里 但我仍然收到以下错误 Problem 1 - pha
我需要在变量中呈现电子邮件模板以便稍后发送它们(它们存储在 .phtml 文件中),而且我真的不想实现我的特殊类来处理这个问题。 是否可以不渲染 Controller Action View ,而是渲
我在指定的框架上有一个小型应用程序。如果我的应用程序失败,我想控制用户看到的内容。这不应是标准的Web服务器响应,不同的浏览器会以不同的方式显示该响应。在这方面,我想使用Falcon \ Debug。
我正在将 Phalcon 与 Angular JS 一起使用,但遇到了问题,Phalcon 正在捕获我所有的 Angular 路由。目标是首先调用路由/dashboard 来加载 Angular、jQ
几天前我安装了Phalcon PHP,我对它越来越兴奋了。现在我想试用 Phalcon Devtools。我刚刚像在 installation manual via Composer 中一样安装了它(
我必须建立数据库,即 master 和 xyz,因为我需要在应用程序中连接这两个数据库。 那么是否可以在一个应用程序中连接多个数据库,是的,那么如何。? 最佳答案 在 DI 中设置您的连接: //Th
后来我和一起工作symfony 框架。在这个框架中,我们可以使用 轻松构建多语言项目。 FOSUserBundle .但我不知道在 做什么法尔康 !在 Phalcon 文档( multi-lingua
我不明白为什么开发人员会使用 Phalcon 的 Volt 模板引擎。 最后,在编译之后,生成了相同的 PHP 文件,我必须首先手动编写这些文件。对我来说,它看起来只会对性能有害。 答案是“这样您就可
做完$this->dispatcher->forward()之后我理解正确吗?或 $this->response->redirect()我需要手动确保其余代码不会被执行?如下所示,还是我错过了什么?
我正在尝试像这样为我的模板创建宏: {%- macro bField(form, name, attributes) %} {{ form.label(name) }}
我是一名优秀的程序员,十分优秀!