Java 如何从servlet获取ajax调用的响应
我使用ajax调用了一个servletJava 如何从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({
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)来检查你从服务器得到的响应吗?