【问题标题】:How to request similar to HTTPPost on client side如何在客户端请求类似于 HTTPPost
【发布时间】:2015-01-09 00:55:47
【问题描述】:

在我的应用程序中,单击链接时,我需要打开一个带有 HTTP Post 结果页面的新选项卡。

例如,我在网站 abc.com 上。此页面上有 URL xyz.com/somepage 的链接。 somepage 有一个带有搜索框的表单。形式是方法POST。有没有办法可以通过点击 URL 从 abc.com 提交此表单?

在服务器端,我知道我们可以使用 HTTP Post 做到这一点。客户端有类似的解决方案吗?

【问题讨论】:

    标签: javascript jquery html angularjs http-post


    【解决方案1】:

    所以你问了几个不同的问题:

    1) 我可以在用户单击链接时提交 POST 请求吗 - 可以 (javascript) 2)我可以在新选项卡中打开该提交 - 是的,表单上的 target="_blank" 2) 我可以使用 javascript 提交跨域发布请求吗?也许……也许不会。

    1) 对于与 javascript 在同一页面上的表单,您可以简单地找到元素(按名称、id、类名等),然后提交()它。这就像用户单击表单提交按钮一样。

    2) 要在新选项卡中打开它,标签还必须设置 target="_blank"。即

    <form target="_blank" action="hteeteepee://xyz.com/somepage" method="POST">

    3) 如果需要,您可以在 abc.com 上设置表单并将操作设置为 xyz.com 上的接收脚本。但是,您可能会遇到来源问题,这取决于 xyz.com 上的脚本是如何设置的。

    【讨论】:

    • "我可以使用 javascript 提交跨域发布请求吗?也许……也许不会。"这就是我想做的事
    • 所以编写你的 javascript 来提交表单,将其注入到具有表单的页面上,然后执行它。
    【解决方案2】:

    我还没有尝试过这种方法。但是你可以试试。

    当您单击 abc.com 中的链接时,将要提交的参数存储为 xyz.com 中的某个 cookie 变量中的帖子。当用户单击您的链接时,打开一个新选项卡,其中包含 abc.com/search 或您域本身中的其他一些 url。在该网址中,您应该将 xyz.com 加载为 iframe。并使用 javascript 从 cookie 变量中获取要提交的参数并提交表单。所以用户和你在一起,得到他想要的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-27
      • 2023-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-18
      • 2019-04-09
      • 2023-04-09
      相关资源
      最近更新 更多