从jsp我需要通过ajax调用上传文件,实习生向servlet发出请求,完成上传过程后,我需要控制回ajax functon,以便我可以向用户显示所有导入的数据。
//这是我的
代码 <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);
}
});
};
和使用mutlipartRequest处理表单数据的Servlet代码。
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();
}
//一旦完成该过程,我想回复ajax调用,我找不到合适的解决方案。
答案 0 :(得分:0)
发回的json或xml(Internet数据)无法显示在alert中,请尝试将其放入console.log中。即使这样,如果它不起作用,然后将返回的对象转换为数组,然后使用。