【发布时间】: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