如何从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并查看一些输出来测试它。 一旦你顺利完成,那么你就可以开始担心前端代码了。

希望这有助于您入门。