Я пытаюсь передать данные холста в файл .php с помощью Ajax (без jQuery) и POST.
К сожалению, $ _POST в моем файле .php имеет значение NULL ..
JS
function takepicture()
{
//...
var canvasData = canvas.toDataURL("image/png");
const req = new XMLHttpRequest();
req.open('POST', '../controller/pictureController.php', true);
req.onreadystatechange = function() {
// XMLHttpRequest.DONE === 4
if (this.readyState === XMLHttpRequest.DONE) {
if (this.status === 200) {
console.log("Response: %s", this.responseText);
} else {
console.log("Response status : %d (%s)", this.status, this.statusText);
}
}
};
req.send(canvasData);
}
PHP
saveData($_POST['canvasData']);
function saveData($data)
{
$input = $data;
//...
file_put_contents($output, file_get_contents($input));
}
Ответ: file_get_contents(): Filename cannot be empty
, что нормально, так как var_dump(canvasData)
равно NULL
.
Когда я console.log canvasData
из части JS присутствует строка изображения, так что я думаю, что-то пропущено через send(canvasData)
верно?
Как я могу получить данные в моем php-файле?