0

我目前正在编写一个应用程序来验证来自管理员的表单数据。

据我所见,我有两种选择:

对同一 URL 的 GET 和 POST 请求

GET /admin/category/new呈现 HTML 表单以创建新类别

POST /admin/category/new在这里发布,如果有效,它只会重新加载 HTML 表单以及提交的数据和相关错误,直到它通过验证。但是,如果用户刷新,浏览器会要求他们重新发送数据。

GET 和 POST 到不同的 RESTful URL

GET /admin/category/new呈现 HTML 表单以创建新类别

POST /admin/category它也可以处理PUT,DELETE请求。如果验证失败并且用户被重定向回,GET /admin/category/new是否可以在会话闪存中同时保留错误和先前的输入?如果用户在多个浏览器窗口中提交多个编辑会发生什么。您如何确保先前的输入附加到正确的表单。

我问的主要原因是,当我在 Magento 或 WordPress 中更新多个项目时,一个窗口中的多个闪存消息队列与其他窗口更新相关。那么哪个选项是最好的呢?还是最容易维护?

4

1 回答 1

0

我建议使用POST-redirect-GET设计模式。

POST-Redirect-GET 或 GET-After-POST 是一些 Web 应用程序使用的设计模式,其中 Web 浏览器在 Web 服务器完成处理 HTTP POST 请求后立即重定向到页面。这可以通过让用户刷新页面或浏览回页面而不重新提交表单来提高用户提交表单后的可用性。

就我个人而言,我发现这会导致代码更清晰并且更易于维护。

于 2013-10-13T17:56:54.337 回答