[英]Calling Servlet from JavaScript
我打算在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新手。
試試這個代碼
<a href="#" onclick="callServlet()"><img
src="https://www.paypalobjects.com/webstatic/en_US/btn/btn_buynow_pp_142x27.png"
alt="PayPal - The safer, easier way to pay online!"></a>
編輯:
最后,我們發現應該映射一個沒有擴展名的servlet,並使用doGet
方法從javascript獲取請求。
我可以在您的jsp中看到多個錯誤。
首先 ,
<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">
並像羅馬人所說的那樣使用帶有button
的img
標簽
提交表單時,該action
的url被稱為
因此,請嘗試將其替換為
<form action="./test-servlet" method="post">
並立即使用您的JavaScript,
您不能使用window.location.href
發出POST
請求。 使用window.location.href檢查通行證數據
<script type="text/javascript">
function callServlet() {
document.forms[0].submit;
}
</script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.