将值从Servlet传递到jquery

时间:2015-11-18 11:45:52

标签: javascript java jquery jsp servlets

我创建了一个包含2个变量的jsp页面并使用传递给Servlet并在控制台中显示的jquery,现在我需要将一个变量传递回jquery.How来编写它?请参阅我使用的servlet和js。

jquery

$(document).ready(function(){
$("#click").click(function(){
     var form = $('#new');
       alert("serialize :"+form.serialize());
           $.ajax({
               url: 'login',
               data: form.serialize(),
               type: 'post',
               success: function(data){ 
                   alert("Reached Servlet"+data);

               }
                   });
});
});

Servlet发布如下

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

        System.out.println("in POST");
        String a=request.getParameter("txt_name");

        String ad=request.getParameter("txt_address");

        PrintWriter ins_writer= response.getWriter();
        System.out.println("console");
        ins_writer.write("In servlet POST > value for Name : "+a);
        System.out.println("a > "+a +">>>>>"+ad);

        System.out.println("----------------------------From Jquery-------------");

        System.out.println("Name  from JSP> "+a);
        System.out.println("Address  from JSP> "+ad);

         String pq="Amanda";       

    }

我只是想把这个'pq'值传递给jquery?请帮助我!!

2 个答案:

答案 0 :(得分:0)

您可以传回隐藏的元素,然后在ajax请求完成时输出:

在servlet中:

 System.out.println("<input type='hidden' id='pqId' value='"+pq+"'/>");

然后在ajax中将响应附加到隐藏区域,并获取该字段的值:

$.ajax({
  url: 'login',
  data: form.serialize(),
  type: 'post',
  success: function(data){ 
    $('body').append('<div style="display:none;">'+data+'</div>');
    alert($('#pqId').val());
  }
});

答案 1 :(得分:0)

将System.out.println更改为ins_writer.write

像:

ins_writer.write("<input type='hidden' id='pqId' value='"+ad+"'/>");

以前的答案应该可以正常使用。