使用ajaxfileupload.js上传文件成功之后,没有执行success方法

今天遇到一个奇怪的问题,在使用SpringMVC和ajax上传文件的时候,因为使用的是ajaxfileupload.js,上传文件成功后,却没有执行 success 和 error 方法。

ajax 代码如下

  1. //上传操作
  2.    //ajax提交信息
  3.    $("#uploadImgBtn").click(function () {
  4.        if($("#file").val() != "") {
  5.            $.ajaxFileUpload({
  6.                type: "POST",
  7.                url:"http://localhost:8090/SpringMVC/upload/uploadFile",
  8.                dataType: "json",
  9.                fileElementId:"file",
  10.                success: function(data, status){
  11.                    alert("上传成功");
  12.                },
  13.                error: function () {
  14.                    alert("上传失败");
  15.                },
  16.            });
  17.        } else {
  18.            alert("请先选择文件");
  19.        }
  20.    })

文件是上传成功的,但是 success 和 error 方法都没执行,甚至写了个 complete 方法也没执行

后来上网查了下。

 

解决方法如下

修改 ajaxfileupload.js 文件

在 192 行(最底下)加一行代码

data = jQuery.parseJSON(jQuery(data).text());

将之前的 eval( "data = " + data ); 注释掉吧

如图

使用ajaxfileupload.js上传文件成功之后,没有执行success方法

 

本文地址:https://liuyanzhao.com/6829.html