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

Можно ли использовать следующий код jQuery для загрузки файла с использованием метода POST запроса ajax?

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

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

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

700
задан Kamil Kiełczewski 5 July 2019 в 10:09
поделиться

1 ответ

Используйте FormData. Это работает действительно хорошо:-)...

            var jform = new FormData();
            jform.append('user',$('#user').val());
            jform.append('image',$('#image').get(0).files[0]); // Here's the important bit

            $.ajax({
                url: '/your-form-processing-page-url-here',
                type: 'POST',
                data: jform,
                dataType: 'json',
                mimeType: 'multipart/form-data', // this too
                contentType: false,
                cache: false,
                processData: false,
                success: function(data, status, jqXHR){
                    alert('Hooray! All is well.');
                    console.log(data);
                    console.log(status);
                    console.log(jqXHR);

                },
                error: function(jqXHR,status,error){
                    // Hopefully we should never reach here
                    console.log(jqXHR);
                    console.log(status);
                    console.log(error);
                }
            });
3
ответ дан 22 November 2019 в 21:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: