Если вы хотите добавить только статическое изображение, то сделайте это на стороне сервера, если хотите, или добавленное пользователем изображение, которое вы должны отправить, выполните следующие действия:
Для правильного использования данных формы вам нужно сделать 2 шага.,
Подготовка
Вы можете передать всю форму FormData () для обработки
var form = $('form')[0]; // You need to use standard javascript object here
var formData = new FormData(form);
или указать точные данные для FormData ()
var formData = new FormData();
formData.append('section', 'general');
formData.append('action', 'previewImg');
// Attach file
formData.append('image', $('input[type=file]')[0].files[0]);
Форма отправки
Запрос Ajax с jquery будет выглядеть так:
$.ajax({
url: 'Your url here',
data: formData,
type: 'POST',
contentType: false, // NEEDED, DON'T OMIT THIS (requires jQuery 1.6+)
processData: false, // NEEDED, DON'T OMIT THIS
// ... Other options like success and etc
});
После этого он отправит запрос Ajax, как вы отправляете регулярноформа с enctype="multipart/form-data"
Обновление: этот запрос не может работать без type:"POST"
в опциях, так как все файлы должны быть отправлены через запрос POST.
Примечание: contentType: false
доступно только с jQuery 1.6 и далее