Jquery Servlet:无法将响应返回到ajax函数(在成功块中)
从jsp中,我需要通过ajax调用上传文件,intern向servlet发出请求,上传过程完成后,我需要控制返回ajax Function,以便向用户显示所有导入的数据 //这是我的密码Jquery Servlet:无法将响应返回到ajax函数(在成功块中),jquery,ajax,servlets,Jquery,Ajax,Servlets,从jsp中,我需要通过ajax调用上传文件,intern向servlet发出请求,上传过程完成后,我需要控制返回ajax Function,以便向用户显示所有导入的数据 //这是我的密码 <form id="form1" method="post" enctype="multipart/form-data" action="TestUpload" onsubmit="validate();" > Name : <input type="text" na
<form id="form1" method="post" enctype="multipart/form-data" action="TestUpload"
onsubmit="validate();" >
Name : <input type="text" name="name" id="name"/><br>
File : <input type="file" name="file" id="file"></input><br>
<input type="submit" value="Submit" ></input>
</form>
// ajax function :
var validate = function() {
var form = $('#form1');
strContent = $.getMultipartData('#'+this.id);
var programId = $('#name').val();
if (programId == "") {
return false;
}
$.ajax( {
type: form.attr('method'),
url: form.attr('action'),
enctype:form.attr('enctype'),
contentType: 'multipart/form-data; boundary='+strContent[0],
data: form.serialize,
success : function(data) {
alert(data);
$('#status').val(data);
}
});
};
//完成此过程后,我想回复ajax调用,但我无法找到合适的解决方案。返回的json或xml(互联网数据)无法显示在警报中,请尝试将其放入console.log。即使这样,如果它不起作用,则将返回的对象转换为数组,然后使用。您是否看到servlet中的日志/系统输出显示成功?另外,请尝试out.write而不是out.println,然后执行flush-out.flush,不要关闭它。我在servlet中获取sysout以获得成功/失败,并且我尝试了out.write而不是out.println,但我仍然无法获得响应。
public void processRequest(HttpServletRequest request,HttpServletResponse response) throws
ServletException,IOException{
System.out.println("Got Request");
File file = null;
response.setContentType("text/plain");
response.setHeader("Access-Control-Allow-Origin", "*");
PrintWriter out = response.getWriter();
String filePath = "c:\\test";
MultipartRequest processFile = new MultipartRequest(request, filePath);
file = processFile.getFile("file");
String fileName = file.getName();
System.out.println("Valule of text field Name is :\t" +
processFile.getParameter("name"));
System.out.println("FileName is :\t" + fileName);
out.println("success");
out.close();
}