【发布时间】:2014-11-03 11:26:51
【问题描述】:
我打算在 JavaScript 中调用一个函数,然后在单击 <input type="image"> 后调用一个 Servlet。
JSP:
<head>
<script type="text/javascript">
function callServlet() {
document.location.href="test-servlet.jsp";
}
</script>
</head>
<body>
<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">
...
<input type="image" name="submit"
src="https://www.paypalobjects.com/webstatic/en_US/btn/btn_buynow_pp_142x27.png"
onclick="callServlet()" alt="PayPal - The safer, easier way to pay online!">
</form>
</body>
Servlet (test-servlet.jsp):
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<h1>TestServlet called successfully!</h1>");
}
上下文根:
http://localhost:8080/mysite/test-servlet.jsp
但是,当我单击图像按钮时没有任何反应。我是 JavaScript 新手。
【问题讨论】:
-
您可以使用 jquery 而不是使用 javascript。是否有任何特定要求限制您仅使用 javascript?
-
@Rockstar jQuery 如何帮助解决这个问题:)? meta.stackexchange.com/questions/45176/…
-
你的意图是什么?表单正在 PayPal 上提交,您正在尝试在单击提交时修改位置(竞争条件)。更改位置也会生成 GET 请求,但您的 servlet 正在处理 POST ......所以您提供的代码存在多个问题。
-
那么为什么不@PavelHoral?我认为 OP 想在点击时进行 servlet 调用。
-
很抱歉,如果我采取了错误的方式。可能是我对 OP 的意图理解不佳。
标签: java javascript jsp servlets