使用ajaxfileupload.js上傳檔案成功之後,沒有執行success方法

言曌發表於2018-03-03

今天遇到一個奇怪的問題,在使用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

相關文章