2013-04-04 59 views
1

我正在使用ajaxfileupload來上傳文件,每當我上傳文件,它給了我這個錯誤。我嘗試了很多修復它,但沒有運氣。ajaxfileupload problemajaxFileUpload不是函數

TypeError: $.ajaxFileUpload is not a function 
success: function (data, status) 

這是代碼我的代碼。

  $id =$("#id").val(); 
    $.ajaxFileUpload 
    (
     { 
      type: "POST", 
      url: "main_page/save_image_data", 
      secureuri:false, 
      fileElementId:'userfile'+id, 
      dataType: 'json', 
      data: { "image_id":id}, 
      success: function (data, status) 
      { 
       if(typeof(data.error) != 'undefined') 
       { 
        if(data.error != '') 
        { 
         alert(data.error); 
        }else 
        { 
         alert(data.msg); 
        } 
       } 
      }, 
      /*error: function (data, status, e) 
      { 
       alert(e); 
      }*/ 
     } 
    ) 

    return false; 
+0

你找到一個解決辦法?我有同樣的問題。 – IshaS 2014-08-07 09:57:06

回答

1

在jQuery的核心中沒有命令$.ajaxFileUpload

因此,您可能試圖使用外部庫,並且您沒有將其包含在您的<head>中。

0

添加到您的文件。此方法從jquery的高版本中刪除。

jQuery.extend({ 
    handleError: function(s, xhr, status, e) { 
     // If a local callback was specified, fire it 
     if (s.error) 
      s.error(xhr, status, e); 
     // If we have some XML response text (e.g. from an AJAX call) then log it in the console 
     else if(xhr.responseText) 
      console.log(xhr.responseText); 
    } 
    }); 
0

這可以,如果你有包括您page.After內jquery.min.js刪除該文件就可以解決問題要發生的事情。

0

這是我的解決方案-----按照官方的格式:

<script type="text/javascript"> 

    $(document).ready(function() { 
     var interval; 

     function applyAjaxFileUpload(element) { 
      $(element).AjaxFileUpload({ 
       action: "MyJsp.jsp", 
       onChange: function(filename) { 
        // Create a span element to notify the user of an upload in progress 
        var $span = $("<span />") 
         .attr("class", $(this).attr("id")) 
         .text("Uploading") 
         .insertAfter($(this)); 

        $(this).remove(); 

        interval = window.setInterval(function() { 
         var text = $span.text(); 
         if (text.length < 13) { 
          $span.text(text + "."); 
         } else { 
          $span.text("Uploading"); 
         } 
        }, 200); 
       }, 
       onSubmit: function(filename) { 
        // Return false here to cancel the upload 
        /*var $fileInput = $("<input />") 
         .attr({ 
          type: "file", 
          name: $(this).attr("name"), 
          id: $(this).attr("id") 
         }); 

        $("span." + $(this).attr("id")).replaceWith($fileInput); 

        applyAjaxFileUpload($fileInput); 

        return false;*/ 

        // Return key-value pair to be sent along with the file 
        return true; 
       }, 
       onComplete: function(filename, response) { 
        window.clearInterval(interval); 
        var $span = $("span." + $(this).attr("id")).text(filename + " "), 
         $fileInput = $("<input />") 
          .attr({ 
           type: "file", 
           name: $(this).attr("name"), 
           id: $(this).attr("id") 
          }); 

        if (typeof(response.error) === "string") { 
         $span.replaceWith($fileInput); 

         applyAjaxFileUpload($fileInput); 

         alert(response.error); 

         return; 
        } 

        $("<a />") 
         .attr("href", "#") 
         .text("x") 
         .bind("click", function(e) { 
          $span.replaceWith($fileInput); 

          applyAjaxFileUpload($fileInput); 
         }) 
         .appendTo($span); 
       } 
      }); 
     } 

     applyAjaxFileUpload("#demo1"); 
    }); 

</script> 

至少,不再有此錯誤。和動作將接收請求