当前位置: 首页 > 面试题库 >

了解“发布/重定向/获取”模式

轩辕涵亮
2023-03-14
问题内容

我很难理解“发布/重定向/获取”的确切过程。

我已经在这个网站和网络上梳理了几个小时,除了“这里是概念”,找不到其他东西。

如何理解发布/重定向/获取模式?


问题答案:

您可能会从研究中知道,POST-redirect- GET看起来像这样:

  • 客户获得带有表单的页面。
  • 表格POST发送到服务器。
  • 服务器执行该操作,然后重定向到另一个页面。
  • 客户端遵循重定向。

例如,假设我们具有以下网站结构:

  • /posts (显示帖子列表和指向“添加帖子”的链接)
    • /<id> (查看特定帖子)
    • /create(如果通过该GET方法请求,则向自身返回表单发布;如果是POST请求,则创建该表单并重定向到/<id>端点)

/posts 本身与该特定模式无关,所以我将其省略。

/posts/<id> 可能是这样实现的:

  • 在数据库中找到具有该ID的帖子。
  • 渲染带有该帖子内容的模板。

/posts/create 可能是这样实现的:

  • 如果请求是GET请求:
    • 显示一个空表格,目标设置为自身,方法设置为POST
  • 如果请求是POST请求:
    • 验证字段。
    • 如果存在无效字段,请再次显示该表单并指出错误。
    • 否则,如果所有字段均有效:
    • 将帖子html" target="_blank">添加到数据库。
    • 重定向到/posts/<id><id>从调用返回到数据库的位置)


 类似资料:
  • 我正在使用thymeleaf和Spring MVC进行Post/Redirect/Get操作,效果很好。除了当我进入页面进行获取和刷新外,ModelAttribute也会重置。这是我正在做的类似事情的一个片段。 我的对象只是一个简单的java bean,具有一个名为

  • 问题内容: 我希望ajax发布上的成功可以转到主页。由于某种原因,我一直做错了。知道我应该怎么做才能解决这个问题吗? 阿贾克斯 问题答案: 希望以上内容对我有所帮助,因为我遇到了同样的问题

  • 我有一个页面“/order/new”,它包括两个客户及其地址的下拉菜单和一个重定向选择要添加到订单中的产品的按钮,我在一个数组中获得产品,并将该数组传递给“/order/new”。但是当我重定向时,我没有获得选定的客户及其地址。我将按顺序添加的产品保存在全局数组hh中,它从ajax获得数据 我想在添加产品数组后获取客户及其地址 我的ajax代码: “/new/order”得我得ejs:

  • 我正在使用Java,我想向URL发送请求,然后获取重定向到的URL。 我想解决方案,如果它包括使用HttpClient和请求,因为我已经使用了过去。

  • 问题内容: 我使用Django的内置DeleteView,并为属性分配了一个值。现在在我的模板中,我通过JQuery的$ .post()方法触发此视图。删除该项目后,我不会重定向到。经过一番搜索,我发现这似乎是AJAX post方法的问题,它忽略了重定向。 我通过添加一个函数将其设置为JQuery中的第三个参数来修复它。 但是,这种方式似乎不是Django。从本质上讲,它是从AJAX而非Djang

  • 我已经设置了一个简单的应用程序,它显示了项目列表。我已经删除了自动发布包,所以我不会将所有内容发送给客户端。 打开时,这将显示所有项目: 移除后,我还必须执行以下操作: 那么,说客户端的find()方法只搜索从服务器端发布的记录,准确吗?它一直在绊倒我,因为我觉得我应该只调用一次。