【问题标题】:Creating a link that acts like a POST request创建一个类似于 POST 请求的链接
【发布时间】:2016-12-11 08:26:45
【问题描述】:

我有一个用户可以分配给自己的任务表。有一个分配按钮,当他们单击它时,我通常想创建一个 POST 请求,将任务分配给用户,并将他们重定向到任务详细信息页面。通常这很好,我可以使用表单中的按钮来做到这一点,但他们也希望能够单击该按钮并在新选项卡中打开任务详细信息页面。

因此,如果他们在主页上并想要获取其中三个任务,他们会希望能够按 Ctrl + 单击或中键单击按钮,将这些页面中的每一个加载到新选项卡中,然后分配他们点击的每一个人。

这让我相信我需要将其设为链接而不是按钮?但这意味着该请求将是一个 GET 请求。谁能给我一个关于如何实现这一点的好主意?

我正在使用 AngularJS 1.4,但即使没有 Angular,我也很想知道我应该如何处理这个问题。

提前致谢。

【问题讨论】:

  • 是为每个任务加载一个单独的页面,还是只加载一个包含所有选定任务的单独页面?
  • 这将是每个任务的单独页面。如果您左键单击,您将被分配并重定向到任务详细信息。但是,如果您执行 Ctrl + Click 之类的操作,它会执行相同的操作,但每次都会在该新选项卡或窗口中打开详细信息页面。

标签: javascript html angularjs forms post


【解决方案1】:

你错过了一些非常好的东西,在纯 HTML 中。表单(进行 POST 请求的常用方式,不是吗)可以像链接一样具有目标属性,因此结果可以显示在另一个选项卡/窗口上。这是一个示例:

<form action="demo_form.asp" method="get" target="_blank">
...
</form> 

以下是可能的目标值:_blank|_self|_parent|_top|framename

如果您需要将结果页面显示在一个或另一个位置(即多个按钮),那么这将是使用 javascript 编辑此目标属性的好时机。

【讨论】:

  • 哇,我其实不知道它有一个目标属性。我去看看,谢谢!
猜你喜欢
  • 1970-01-01
  • 2020-04-01
  • 1970-01-01
  • 2014-01-19
  • 2017-06-07
  • 1970-01-01
  • 1970-01-01
  • 2015-03-16
  • 1970-01-01
相关资源
最近更新 更多