max_shane
@max_shane
Javascript / Node.js dev

Почему $_POST приходит пустой при POST xmlhttprequest?

Приветствую!
Разбираюсь как делать загрузку файлов на сервер.
Написал простой пример.
Скрипт sendData() выполняется при клике на button. На сервере я обращаюсь к файлу upload.php.

В этом файле я проверяю, что в себе содержит $_POST (и $_FILES).
И что бы я не отправлял в теле POST запроса, у меня все время выдает: тип array, а длина массива 0.
Ничего в нем нету...
Точка входа в приложение в папке /public, в этой же папке и лежит upload.php.

function sendData() {

	var xhr = new XMLHttpRequest();
	xhr.open('POST', '/upload.php', true);
	xhr.setRequestHeader("Content-type", "multipart/form-data"); 
	xhr.onload = function (oEvent) {
	  console.log("xhr.onload");
	};
	xhr.onerror = function() { 
 	 console.log("xhr.onerror");
	};


	var blob = new Blob(['abc123'], {type: 'text/plain'});

	xhr.send(blob);

}


Что я делаю не так?
  • Вопрос задан
  • 573 просмотра
Пригласить эксперта
Ответы на вопрос 1
AleksandrB
@AleksandrB
Совсем недавно вывел "Hello world"
var data = new FormData();
data.append('name', 'value');

var xhr = new XMLHttpRequest();
xhr.open('POST', '/upload.php', true);
xhr.onload = function () {
    // do something to response
    console.log(this.responseText);
};
xhr.send(data);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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