今天尝试了一下jQuery.form.js插件来进行异步的提交表单上传文件
jsp:
1
2
3
4
|
<form style="padding-left: 50px;padding-top: 25px"id="form2" enctype="multipart/form-data">
选择Excel文件:<input type="file"name="files"id="files"/></p>
<input type="button"value="上传"id="bt"/>
</form>
|
点击上传按钮的js事件代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
<script src="JS/jquery-1.8.0.js"type="text/javascript"></script>
<script src="JS/jquery.form.js"type="text/javascript"></script>
<script type="text/javascript">
$(function(){
$("#bt").click(function(){
varoptions={
url:"uploadServlet",
type:"post",
dataType:null,
success:function(mes){
alert(mes);
}
};
$("#form2").submit(function() {
$(this).ajaxSubmit(options);
returnfalse;
});
});
});
</script> |
就是一个简单地上传文件的操作,上传的地址是一个servlet
在servlet中我使用cos上传方式
我在servlet中out.print出OK
servlet:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
publicvoiddoGet(HttpServletRequest request, HttpServletResponse response)
throwsServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=utf-8");
PrintWriter out=response.getWriter();
String str="";
try{
String ExcelFile=this.getServletContext().getRealPath("ExcelFile")+"\\";
newMultipartRequest(request, ExcelFile,10*1024*1024,"utf-8",newDefaultFileRenamePolicy()) ;
str="OK";
}catch(Exception e) {
e.printStackTrace();
str="NO";
}
out.print(str);
out.flush();
out.close();
}
|
但是我运行一下,没有任何反应。。。压根这后台的servlet都没进去
使用浏览器调试了一下也不报错,什么反应都没有。。求请教,很急
$("#form2").submit这里只是给form注册了一个submit事件,而不是执行submit!!!
你这段代码实际效果就是:点击上传按钮,给form2注册一个submit事件。
你应该将这也写:
$(function(){varoptions={url:"uploadServlet",type:"post",success:function(mes){alert(mes);}};$("#form2").submit(function(){$(this).ajaxSubmit(options);returnfalse;});$("#bt").click(function(){$("#form2").submit();});});
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。