Как отправить переменную через API Javascript formData

Я пытаюсь заставить загрузку файла (изображения) 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 безрезультатно, поэтому, если кто-то может помочь, я буду признателен.

0

Решение

Этот код демонстрирует, как можно одновременно отправить файл и переменную строковый параметр:

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">
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]