【问题标题】:JavaScript post request like a form submitJavaScript 发布请求,如表单提交
【发布时间】:2010-09-13 03:10:25
【问题描述】:

我正在尝试将浏览器定向到不同的页面。如果我想要一个 GET 请求,我可能会说

document.location.href = 'http://example.com/q=a';

但除非我使用 POST 请求,否则我尝试访问的资源将无法正确响应。如果这不是动态生成的,我可能会使用 HTML

<form action="http://example.com/" method="POST">
  <input type="hidden" name="q" value="a">
</form>

那我就直接从 DOM 提交表单了。

但我真的希望 JavaScript 代码可以让我说

post_to_url('http://example.com/', {'q':'a'});

最好的跨浏览器实现是什么?

编辑

对不起,我不清楚。我需要一个改变浏览器位置的解决方案,就像提交表单一样。如果XMLHttpRequest 可以做到这一点,那并不明显。而且这不应该是异步的,也不应该使用 XML,所以 Ajax 不是答案。

【问题讨论】:

  • 正如另一个线程中提到的,有一个 jquery ".redirect" 插件可以与 POST 或 GET 方法一起使用。它创建一个带有隐藏输入的表单并为您提交。例如:$.redirect('demo.php', {'arg1': 'value1', 'arg2': 'value2'}); github.com/mgalante/jquery.redirect/blob/master/…
  • document 对象没有location.href,您需要一个才能使用window

标签: javascript forms post submit


【解决方案1】:

您可以进行 AJAX 调用(可能使用库,例如​​使用 Prototype.js 或 JQuery)。 AJAX 可以处理 GET 和 POST 选项。

【讨论】:

  • 使用 XMLHttpRequest 不会将浏览器定向到另一个页面。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-10-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-16
相关资源
最近更新 更多