开发者社区> 问答> 正文

jquery.form.js没有任何反应?报错

今天闲着尝试了一下jQuery.form.js插件来进行异步的提交表单上传文件

jsp:

?
1
2
3
4
<form method="post"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都没进去

也不报错,什么反应都没有。。。我很纳闷。


展开
收起
爱吃鱼的程序员 2020-06-15 19:34:40 590 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    1,这个html写的貌似就有问题,在form中的任何button,如果不是重置按钮,貌似点击之后,默认都有直接提交所在form到后端的默认功能吧?

    2,js方法好像也有问题, submit好像就已经提交了把,怎么还有里面的异步提交。提交2次是什么节奏?

    3,我的理解,一般你用了js这种组件库的话,一般都是不需要自己写form的,你只要把某个页面区域(比如一个div有id)给用绑定方法绑定上(传入div的id),组件会自己初始化页面显示区域的显示内容的,你都是js里面配参数,然后,ajax也只要配置上路径和加传参数,回调函数就行了。

    总之,我觉得你这个写的不对,你自己没搞清楚前,还是先看看说明下载的东西里面的示例代码吧。

    只有type是submit的input,点击才能自动提交到后台调试一下,估计是js有报错,f12看下调试了,一点的反应都没有。。。。
    2020-06-15 19:34:56
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
JavaScript异步编程 立即下载
Delivering Javascript to World 立即下载
编程语言如何演化-以JS的private为例 立即下载