Загрузка файла с помощью jquery-ajax весной

63
7

Я хочу загрузить файл на сервер WEB-INF/attachments с помощью jquery ajax или любого другого механизма, потому что мне нужно загрузить файл без обновления страницы. Я смотрел, но не нашел ничего, что мне поможет.

Пожалуйста, помогите мне, поскольку я борюсь с этим в течение двух дней.

Я уверен, что этот вопрос принесет мне много голосов и попросит закрыть их, но не знаю, кроме вопросов здесь. :(

С наилучшими пожеланиями

спросил(а) 2021-01-25T13:28:59+03:00 4 месяца, 4 недели назад
1
Решение
77

Вы можете использовать это: Создать форму с атрибутом target='file_upload_iframe'. Создайте iframe с name='file_upload_iframe' атрибута name='file_upload_iframe'. Форма будет отправлена в iframe, и ответ POST-запроса будет в iframe. Таким образом, вы можете проверить с jquery, что в ответ (ошибка, sucess или smth else) и показать сообщение пользователю. Также вам нужно скрыть ваш iframe на производстве, но для отладки вы можете его отобразить. Это очень полезно.

И вы можете использовать что-то подобное, чтобы проверить результат загрузки:

$('document').ready(function()
{
$('iframe#file_upload_iframe').load(function()
{
callback(this);
});
});

Плюсы: Это метод кроссбраузера, как я знаю.

Недостатки: появится значок загрузки вкладки браузера, но это не так ужасно, ИМХО.

PS Также вы можете использовать плагины http://blueimp.github.com/jQuery-File-Upload/ 7 доверенных плагинов для загрузки файлов ajax с помощью jquery

Но некоторые из них используют flash...

ответил(а) 2021-01-25T13:28:59+03:00 4 месяца, 4 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема