如何从jQuery的$ .ajax()函数调用servlet
我试图从jQuery的.ajax()函数调用一个servlet。
目前我不认为我甚至会调用servlet或将paramaters传递给它,但是很多Google搜索似乎没有帮助。 有任何想法吗?
这是我的HTML:
function login(){ $("#loading").hide(); var email = document.nameForm.email.value; $.ajax({ type: "GET", url: "ProcessForm", data: "email="+email, success: function(result){ alert(result); } }); } My AJAX This time it's gonna work
电邮加载
还有我的web.xml
ajaxtry index.html index.htm index.jsp default.html default.htm default.jsp ProcessForm com.ajaxtry.web.ProcesFormServlet ProcessForm /ProcessForm
servlet目前只是一个模板:
package com.ajaxtry.web; // imports here public class ProcessFormServlet { public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); System.out.println(request.getParameter("email")); } }
这里有几个问题:
你正在调用System.out.println,它只是将输出发送到标准输出 – 而不是发送到浏览器。 尝试将“System.out.println”更改为“out.println”
看起来你已经在你的servlet代码中定义了doPost(),但是你的javascript正在使用“GET”方法。 将doPost()重命名为doGet(),或者同时定义它们。
话虽这么说,你可能根本不应该打扰javascript,直到你实际上让servlet工作,保持简单。 您应该能够通过在浏览器中加载/ ProcessForm?email = testing并查看一些输出来测试它。 一旦你顺利完成,那么你就可以开始担心前端代码了。
希望这有助于您入门。