JQuery Ajax Загрузка файла - PullRequest
       60

JQuery Ajax Загрузка файла

694 голосов
/ 23 февраля 2010

Могу ли я использовать следующий код jQuery для загрузки файла, используя метод post Ajax-запроса?

$.ajax({
    type: "POST",
    timeout: 50000,
    url: url,
    data: dataString,
    success: function (data) {
        alert('success');
        return false;
    }
});

Если это возможно, нужно ли заполнять часть «данные»? Это правильный путь? Я размещаю файл только на стороне сервера.

Я гуглил вокруг, но то, что я нашел, было плагином, а в моем плане я не хочу его использовать. По крайней мере, на данный момент.

Ответы [ 22 ]

2 голосов
/ 09 июня 2017
var dataform = new FormData($("#myform")[0]);
//console.log(dataform);
$.ajax({
    url: 'url',
    type: 'POST',
    data: dataform,
    async: false,
    success: function(res) {
        response data;
    },
    cache: false,
    contentType: false,
    processData: false
});
1 голос
/ 31 октября 2013

Вот идея, о которой я думал:

Have an iframe on page and have a referencer.

Иметь форму, в которой вы перемещаете элемент INPUT: File в.

Form:  A processing page AND a target of the FRAME.

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

data:image/png;base64,asdfasdfasdfasdfa

и страница загружается.

Я считаю, что это работает для меня, и в зависимости вы можете сделать что-то вроде:

.aftersubmit(function(){
    stopPropigation()// or some other code which would prevent a refresh.
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...