关于java:从Javascript传递变量到Servlet方法获取返回值

Pass variable from Javascript to Servlet Method get Return value

本问题已经有最佳答案,请猛点这里访问。

我可以提供一个场景的例子,我有一个Servet这样:

1
2
3
4
5
6
7
8
9
10
@WebServlet(name ="testservlet", urlPatterns = {"/testservlet"})
public class testservlet extends HttpServlet {    

    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

          Data d = new Data();  
          ArrayList infos = d.getData(String ID);  

        }

如何使用ajax在javascript中传递getData方法的值并通过发回信息对象来接收回复? 我将在javascript中感谢一个例子。 这应该通过单击按钮来触发。 请你的回复应该像教程一样


当用户向网页输入值时,必须使用ajax将该值传输到java servlet。 这不是确切的代码,而是一个示例,您可以让servlet从postVariableName中检索数据。

假设你在javascript文件中有一个id = 1,

1
var id= document.getElementById(id);

然后使用ajax:

1
2
3
4
5
6
7
$.ajax({
    url: 'path/to/testservlet',
    data: {
        postVariableName: id
    },
    type: 'POST'
});?

在servlet中,您将通过以下方式访问该值:

1
2
id = request.getParameter("id")
System.out.print("id is:"+id); //prints 1

也可以看看:

jQuery.ajax()文档


这就是我的想法:

  • 将值从getData方法转换为JSON

  • 将JSON值放在HTML隐藏元素中。

  • 使用javascript获取隐藏元素的值并通过Ajax发送。