【问题标题】:Redirect as a post重定向为帖子
【发布时间】:2017-04-17 20:07:42
【问题描述】:

也许我没有正确处理这个问题,但我有一个页面,用户通过 ajax 调用提交数据,如果该调用成功,我想返回到特定页面(上一页)。我希望做的是将重定向作为帖子调用,因此逻辑将是如果我作为帖子来到页面我知道调用成功并且可以执行一些操作,如果调用是获取然后不要'不要尝试执行该操作。

我卡住的部分是我发现在客户端上进行重定向的唯一代码是window.location.href。那么有没有一种等效的方法来重定向为帖子(或就此而言任何其他动词)?

【问题讨论】:

  • 如果您不限于使用动词,您可以随时将参数附加到您的 URL 并检查它以确定您是如何到达那里的(即window.location.href = '/your/page?successfulPost=true')。
  • 对不起,我没有解释清楚,我不想使用查询字符串,因为我担心用户会将页面的保存状态添加为书签。

标签: jquery ajax redirect


【解决方案1】:

您可以使用method=POST 创建一个隐藏表单,并将重定向链接放在action 属性中并提交。
或者,只需使用获取请求和查询参数进行重定向,例如example.com?redirection=1。现在只需检查重定向 param == 1 并使用它作为条件来做你的事情

【讨论】:

【解决方案2】:

发布数据的唯一方法是通过附加到 DOM 的 HTML 表单。如果您的页面还没有可以使用的表单,您可以使用一些 jquery 来执行此操作,如下所示:

var f = $('<form method="post" action="https://SomeDomain.com/Somepage"></form>');
f.html('<input type="hidden" name="Param1" value="Value1" /><input type="hidden" name="Param2" value="Value2" />');
f.appendTo($('body')); // required for submission to work in Firefox
f.submit();

【讨论】:

    猜你喜欢
    • 2017-10-05
    • 1970-01-01
    • 1970-01-01
    • 2015-07-30
    • 2019-06-04
    • 1970-01-01
    • 2017-07-01
    • 2023-03-27
    • 2012-10-16
    相关资源
    最近更新 更多