Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从servlet获取ajax调用的响应_Java_Jquery_Ajax_Servlets - Fatal编程技术网

Java 如何从servlet获取ajax调用的响应

Java 如何从servlet获取ajax调用的响应,java,jquery,ajax,servlets,Java,Jquery,Ajax,Servlets,我使用ajax调用了一个servlet $.ajax({ type: "post", url: "FileUploadServlet", //this is my servlet dataType: 'json', data:{"myJsonString":"myJsonString","aadhar":"aadhar"}, //data: "myJsonString" , befor

我使用ajax调用了一个servlet

        $.ajax({
        type: "post",
        url: "FileUploadServlet", //this is my servlet
        dataType: 'json',
        data:{"myJsonString":"myJsonString","aadhar":"aadhar"},
        //data: "myJsonString" ,
        beforeSend: function (request)
        {
            request.setRequestHeader("myJsonString", myJsonString);
            request.setRequestHeader("aadhar", aadhar);

        },
        success: function(response){
            // $('#uidrespon').html(response); 
            //alert(uidrespon);
        } 
        });
我想从我的servlet将响应传递给ajax。为了从servlet发送响应,我使用了这段代码,但没有通过ajax获得响应

         protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    response.setContentType("application/json;charset=utf-8");
    PrintWriter out = response.getWriter();
    System.out.println("In doPost");

    String stat="";
    String member_Id="111111111";
    String session_id="121233";



    try{
        System.out.println("In try--------");
        String strrs = request.getHeader("myJsonString");
        String uid_val = request.getHeader("aadhar");
        System.out.println("Uid value..."+uid_val);
        if(strrs!= null){
             stat = "Uploaded Successfully";
             System.out.println("upload status"+stat);
        }else if(strrs == null){
            stat = "Uploaded Failed";
             System.out.println("upload status"+stat);
            request.setAttribute("status", stat);
        }   

        byte[] b = strrs.getBytes();
        System.out.println("In bytes---"+b);
        String encodedString = Base64.encodeBase64(b).toString();
        System.out.println("In image---\n"+encodedString);

         uid_webservice tes = new uid_webservice();

         String src= tes.authenticate(member_Id,uid_val,encodedString,session_id);

         System.out.println("Source------"+src); // Getting return value value from uid_webservice 

         request.setAttribute("uidrespon", src);

         response.setContentType("text/plain");  
         response.setCharacterEncoding("UTF-8"); 
         response.getWriter().write(src);
有人能帮我吗…提前告诉我

$.ajax({
    type: "post",
    url: "FileUploadServlet", //this is your servlet
    dataType: 'html',
    data:{
        myJsonString:"myJsonString",
        aadhar:"aadhar"
    },
    success: function(response){
         $('#uidrespon').html(response); 
        //alert(uidrespon);
    } 
    });
Servlet端:

request.setAttribute("src", src); 
response.setCharacterEncoding("UTF-8"); 
response.getWriter().print(src);

我想它一定能用。

你能把servlet的所有代码都放进去吗?什么不起作用?您是否访问了servlet?“无法获得响应”是对问题最糟糕的描述-请按照前面的建议详细说明。为什么是“发送前”?应该不需要在请求中设置额外的头,jQuery会为您这样做吗?为什么“request.setAttribute()”?值进入servlet。从那里我想把它作为ajax响应发送你能使用某种网络监视器(Chrome Dev Tools,Charles,Fiddler)来检查你从服务器得到的响应吗?