Я считаю, что все часто используют операции загрузки файлов в своей работе. Поскольку я работаю над фронт-конце, я в основном представляю операции Ajax на переднем крае. Я пропустил много кода, просто возьмите JS
$ .ajaxfileupload ({url: 'www.coding/mobi/file/uploadsinglefile.html', // Скрипт изображения процесса secureuri: false, fileelementid: 'image2', // идентификатор управления файлами. ошибка: функция (данные, статус, e) {alert (e);Согласно учебному пособию, нет проблем, если вы загружаете таким образом, но он всегда сообщал об ошибке. Я забыл, что было сообщено. Извините, потому что я не забываю восполнить эту статью после ее использования в течение долгого времени, но если мне нужно изменить его исходный код, ошибка может быть решена.
Последний абзац его исходного кода выглядит так
uploadhttpdata: function (r, type) {var data =! type; data = type == "xml" || данные ? R.Responsexml: R.ResponseText; // Если тип - «скрипт», оцените его в глобальном контексте if (type == "script") jQuery.globaleval (data); // Получить объект JavaScript, если JSON используется. if (type == "json") eval ("data =" + data); // Оценить сценарии в HTML if (type == "html") jQuery ("<div>"). html (data) .evalscripts (); // alert ($ ('param', data). вернуть данные; }Изменить этот абзац на это
uploadhttpdata: function (r, type) {var data =! type; data = type == "xml" || данные ? R.Responsexml: R.ResponseText; // Если тип - «скрипт», оцените его в глобальном контексте if (type == "script") jQuery.globaleval (data); // Получить объект JavaScript, если JSON используется. if (type == "json") {// Поскольку данные JSON будут обернуты <pre> Tag, есть проблема. Теперь добавьте следующий код, // обновление от Leck Var reg = /<pre.+?>(.+)<//pre>/g; var result = data.match (reg); result = regexp. $ 1; // Обновление конечных данных = $ .parsejson (результат); // eval ("data =" + data); // Оценить сценарии в HTML} if (type == "html") jQuery ("<div>"). html (data) .evalscripts (); // alert ($ ('param', data). вернуть данные; }Это будет работать нормально.
Другой случай: AjaxFileUpload сообщает об этой ошибке jQuery.handleerror не является функцией
Только версии до версии 1.4.2 имеют метод обработчика. JQuery, используемый в примере, составляет 1,2. Решение:
Чтобы продолжать использовать AjaxFileUpload для загрузки наших вложений, мне пришлось скопировать следующий код в файл ajaxfileupload.js в нашем проекте
handerror: function (s, xhr, status, e) {// Если был указан локальный обратный вызов, зажги его, если (s.error) {s.error.call (s.context || s, xhr, status, e); } // Запустите глобальный обратный вызов if (s.global) {(s.context? Jquery (s.context): jquery.event) .trigger ("ajaxerror", [xhr, s, e]); }}Для получения более захватывающего контента, пожалуйста, обратитесь к специальным темам «Сводка технологии загрузки AJAX», «Сводка операции загрузки файла JavaScript» и «Сводка операции загрузки jQuery» для обучения.
Выше приведено решение проблемы сообщения о ошибках в ajaxupload.js. Я надеюсь, что это поможет вам решить трудности. Я также надеюсь, что вы продолжите обращать внимание на более интересный контент на wulin.com.