Я использую плагин blueimp для загрузки файлов, и все работает нормально.Не могу прочитать свойство 'length' undefined n.extend.each
Однако Атера загрузка завершена, я получаю это в консоли навигатора:
Uncaught TypeError: Cannot read property 'length' of undefined
n.extend.each @ jquery-2.1.4.min.js:2
up.find.fileupload.done @ imgdown.js:45
$.Widget._trigger @ jquery.ui.widget.js:527
$.widget._onDone @ jquery.fileupload.js:862
(anonymous function) @ jquery.ui.widget.js:127
(anonymous function) @ jquery.fileupload.js:908
j @ jquery-2.1.4.min.js:2k.fireWith @ jquery-2.1.4.min.js:2
x @ jquery-2.1.4.min.js:4k.cors.a.crossDomain.send.b @ jquery-2.1.4.min.js:4"
Я хочу знать, если есть способ, чтобы исправить это.
вот код:
imgdown.js
form.fileupload({
url: form.attr('action'),
dataType: 'html',
done: function (e, data) {
$.each(data.result.files, function (index, file) {
$('<p/>').text(file.name).appendTo('#icon');
});
},
progressall: function (e, data) {
showprog(form.find('div#progress'));
var progress = parseInt(data.loaded/data.total * 100, 10);
up.find('#progress .progress-bar').css('width', progress + '%')
.text(progress + '%');
}
}).prop('disabled', !$.support.fileInput)
.parent().addClass($.support.fileInput ? undefined : 'disabled');
Моя догадка 'data.result.files' является' undefined'. Простой 'console.log' покажет, верно ли это. Проверьте, что находится в 'data'. – epascarello