【发布时间】:2013-09-27 20:33:27
【问题描述】:
我想发出 get 请求来发布以下代码的请求 -
<html>
<head>
<script language="JavaScript">
function redirect() {
if (window.focus)
self.focus();
this.location = '/test/GetReports?id=
<%=System.currentTimeMillis()+session.getId()%>';
}
</script>
<title>Downloading Document</title>
</head>
<body marginwidth='0' marginheight='0' onload='javascript:redirect()'>
</body>
</html>
为了实现这一点,我在下面做了 -
<html>
<head>
<script language="JavaScript">
function redirect() {
if (window.focus)
self.focus();
location = '/test/GetReports?id=<%=System.currentTimeMillis()+session.getId()%>';
var form = document.createElement("form");
form.setAttribute("method", "post");
form.setAttribute("action", location);
form.submit();
}
</script>
<title>Downloading Document</title>
</head>
<body marginwidth='0' marginheight='0' onload='javascript:redirect()'>
</body>
</html>
但这并没有什么区别。这个请求仍然是Get。请让我知道还需要做什么。
感谢您的帮助!
【问题讨论】:
-
在 Chrome 控制台上测试这个
form.setAttribute("method", "post");看看它是否有效 -
只是指出,脚本元素上的
language属性已过时。你应该改用type="text/javascript"。 -
你第二次尝试还有效吗?我看不到它是如何发送 GET 请求的
-
我已经使用您的代码进行了测试,它工作正常 :) 唯一的区别是我的位置指向另一个位置。
标签: javascript http post get