С этим скриптом (jquery для загрузки файлов) я получаю некоторую ошибку, но он работает в wamp на локальном компьютере. Для производства мне нужно остановить эту ошибку предупреждения"
"SyntaxError: отсутствует } после списка свойств
progressall: функция (e, данные) {"
или в Хроме:
«Неожиданный идентификатор синтаксической ошибки в строке 211»
Та же строка, что и в firefox.
У кого-нибудь есть идея?
$(function () {
$('#fileupload').fileupload({
dataType: 'json',
done: function (e, data) {
$.each(data.result.files, function (index, file) {
$('<p/>').text(file.name).appendTo(document.body);
});
}
progressall: function (e, data) {
var progress = parseInt(data.loaded / data.total * 100, 10);
$('#progress .bar').css(
'width',
progress + '%'
);
}
add: function (e, data) {
data.context = $('<p/>').text('Uploading...').appendTo(document.body);
data.submit();
}
done: function (e, data) {
data.context.text('Upload finished.');
}
add: function (e, data) {
data.context = $('<button/>').text('Upload')
.appendTo(document.body)
.click(function () {
$(this).replaceWith($('<p/>').text('Uploading...'));
data.submit();
});
}
done: function (e, data) {
data.context.text('Upload finished.');
}
});
});
Я сделал несколько модификаций: в Mozilla нет ошибок, но не работает
В хромовой ошибке (Uncaught TypeError: невозможно вызвать метод «push» из undefined) и не работает
$(function () {
//declare a "updloadOptions" variable object that will be passed to the plugin constructor method as a parameter. (You can give any name to this object.)
var updloadOptions = {};
//set the datatype property to 'json'.
updloadOptions.dataType = 'json';
//declare the "done" callback method on "updloadOptions" object.
updloadOptions.done = function (e, data) {
$.each(data.result.files, function (index, file) {
$('<p/>').text(file.name).appendTo(document.body);
});
};
//declare the "progressall" callback method on "updloadOptions" object.
updloadOptions.progressall = function (e, data) {
var progress = parseInt(data.loaded / data.total * 100, 10);
$('#progress .bar').css(
'width',
progress + '%');
};
//declare the "add" callback method on "updloadOptions" object.
updloadOptions.add = function (e, data) {
data.context = $('<button/>').text('Upload')
.appendTo(document.body)
.click(function () { $(this).replaceWith($('<p/>').text('Uploading...'));
data.context = $('<p/>').text('Uploading...').appendTo(document.body);
data.submit();
});
};
//initialize the component
$('#fileupload').fileupload(updloadOptions);
});
Правильный скрипт с синтаксической ошибкой
SyntaxError: отсутствует } после списка свойств
filesContainer: $('.filescontainer')
И мне никогда не нужен filesContainer
, потому что я получаю вторую вкладку jquery с системой загрузки
$(function () {
$('#fileupload').fileupload({
dataType: 'json',
done: function (e, data) {
$.each(data.result.files, function (index, file) {
$('<p/>').text(file.name).appendTo(document.body);
});
},
progressall: function (e, data) {
var progress = parseInt(data.loaded / data.total * 100, 10);
$('#progress .bar').css(
'width',
progress + '%'
);
},
add: function (e, data) {
data.context = $('<p/>').text('Uploading...').appendTo(document.body);
data.submit();
},
done: function (e, data) {
data.context.text('Upload finished.')
},
add: function (e, data) {
data.context = $('<button/>').text('Upload')
.appendTo(document.body)
.click(function () {
$(this).replaceWith($('<p/>').text('Uploading...'));
data.submit();
});
}, done: function (e, data) {
data.context.text('Upload finished.')
}
filesContainer: $('.filescontainer')
});
});