2015-02-10 188 views
0

我從這裏使用jQuery-fileupload(https://github.com/blueimp/jQuery-File-Upload) 一切工作正常,直到我嘗試在新窗口中打開Ajax鏈接到fileupload ..我已經調試的代碼有問題:未捕獲TypeError:無法讀取未定義的屬性'_adjustMaxNumberOfFiles'

$.getJSON($('#fileupload form').prop('action'), function (files) { 
     var fu = $('#fileupload').data('fileupload'); 
     fu._adjustMaxNumberOfFiles(-files.length); 
     fu._renderDownload(files) 
      .appendTo($('#fileupload .files')) 
      .fadeIn(function() { 
       // Fix for IE7 and lower: 
       $(this).show(); 
      }); 
    }); 

由於調試器告訴我的文件被收到,但好......「福」爲空。 檢查是否所有腳本都已加載並且它們是。

剃刀標記:

<div id="fileupload"> 
<form action="~/Upload/UploadHandler.ashx?Action=SedCard&thumb=1" method="POST" enctype="multipart/form-data"> 
    <div class="fileupload-buttonbar"> 
     <label class="fileinput-button"> 
      <span>Add files...</span> 
      <input id="btnAdd" type="file" name="files[]" multiple="multiple" /> 
     </label> 
     <button type="button" class="delete button">Delete all files</button> 
     <div class="fileupload-progressbar"></div> 
    </div> 
</form> 
<div class="fileupload-content"> 
    <table class="files"></table> 
</div> 

控制器代碼:

<HttpGet> _ 
    <Authorize> _ 
    Function MyUpload() As ActionResult 
     If Request.IsAjaxRequest Then 
      Return PartialView("_MyUpload") 
     Else 
      Return View("_MyUpload") 
     End If 
    End Function 

所以,如果我在PartialView一切運行這會不錯,但在新窗口中查看運行它它會拋出這個錯誤。

有沒有人有一個想法是怎麼回事?

回答

1

哦,上帝,我發現這個問題...

原來,當$的getJSON運行該文件並沒有完全加載。 所以,如果有人在敲打他們的頭......現在

$(document).ready(function() { 
     $.getJSON($('#fileupload form').prop('action'), function (files) { 
      var fu = $('#fileupload').data('fileupload'); 
      fu._adjustMaxNumberOfFiles(-files.length); 
      fu._renderDownload(files) 
       .appendTo($('#fileupload .files')) 
       .fadeIn(function() { 
        // Fix for IE7 and lower: 
        $(this).show(); 
       }); 
     }); 

    }); 

一切工作:d

相關問題