【发布时间】:2016-03-31 18:49:45
【问题描述】:
我有一个关于在 MVC 架构(自写框架)中构建的 PHP 应用程序中完成表单提交的问题。
到目前为止,我看到的所有示例(包括现有的后端框架)都是这样工作的,一旦提交了向数据库添加记录的表单,就会执行控制器的某些方法 [比如 addRecord()],它会触发合适模型的方法。如果一切正常,则添加记录,并且控制器的方法 [在此示例中为 addRecord()] 呈现“索引”页面的视图,该页面显示包含数据库记录的表。
我想要实现的是使用用于添加记录的表单(与添加第一条记录相同)而不是“索引”来呈现视图。显然,我可以通过从 addRecord() 渲染适当的视图(带有表单的视图)轻松地做到这一点。
但棘手的一点是,当您检查 url 时,您会看到以下内容: 您第一次进入它将是即
http://project_name/my_controller/create
一旦第一个表单被提交并且您从 addRecord() 方法返回到视图,那么 url 将是:
http://project_name/my_controller/addRecord
我希望看到的是返回原来的url,即http://project_name/my_controller/create
不确定这是否清楚?
PS。当然,我可以使用 AJAX 调用来提交表单(这样我将停留在同一页面上),但也许没有 AJAX 也可以实现。
提前致谢,
【问题讨论】:
-
由于这是一个自行编写的框架,很难说如何实现这一点,但您只需要在成功时重定向 addRecord 即可创建。我使用 slim 作为控制器,这是我创建的正常 MVC 流程。
-
嗨书呆子,这是我一直想念的。谢谢你的提示!
-
如果您想接受,我将其作为答案。
标签: php forms model-view-controller