我正在从这里(https://github.com/blueimp/jQuery-File-Upload)使用jQuery-fileupload
一切工作正常,直到我尝试在新窗口中打开Ajax-Link到fileupload为止。我已经调试了相关代码:
$.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();
});
});
正如调试器告诉我的那样,文件已收到,但是...“ fu”为空。
检查是否已加载所有脚本。
剃刀标记:
<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中运行此程序,一切都会很好,但是在View的新窗口中运行它将引发该错误。
有人知道出什么事了吗?
最佳答案
哦,上帝,我发现了问题...
原来,运行$ 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
关于javascript - 未捕获的TypeError:无法读取未定义的属性'_adjustMaxNumberOfFiles',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28434358/