Я пытаюсь заставить загрузку файла (изображения) AJAX работать, но у меня возникают некоторые проблемы с отправкой переменных через API formData:
Это код formData:
var data = new FormData();
data.append('SelectedFile', _file.files[0]);
data.append('name', event_title);
Как видно из строки 3, я пытаюсь одновременно отправить переменную на сервер. Event_title определяется как
var event_title = document.getElementById("new_event_title").value;
И это вызывается перед кодом formData.
Я могу нормально отправлять обычный текст на сервер, например
date.append("name", "enter-name");
Однако, когда я изменяю это на переменную, он перестает работать.
Я проверил MDN и HTML5rocks безрезультатно, поэтому, если кто-то может помочь, я буду признателен.
Этот код демонстрирует, как можно одновременно отправить файл и переменную строковый параметр:
document.getElementById("submitBtn").onclick = function(){
var event_title = document.getElementById("new_event_title").value;
var file = document.getElementById("file").files[0];
var data = new FormData();
data.append('SelectedFile', file);
data.append('name', event_title);
var xhr = new XMLHttpRequest();
xhr.open('POST', 'http://example.com/', true);
xhr.send(data);
};
<input type="text" id="new_event_title" value="My Event Title">
<input type="file" id="file">
<br>
<input type="submit" id="submitBtn" value="Send">
Других решений пока нет …