Я пытаюсь добавить данные из холста (для приложения камеры) в свою базу данных, используя Ajax, и кажется, что я не могу правильно получить данные в моем файле PHP.
Моя конфигурация: IЯ работаю на VPS, работающем Nginx.
Я пытался:
- Изменение типа POST на GET, чтобы увидеть, что происходит;поскольку аргумент «data» был слишком длинным, я мог видеть в консоли, что данные были отправлены правильно («save.php? img = thedatafrommyjsfilewhichwstoolong»);Итак, я пришел к выводу, что мой запрос AJAX был довольно правильным.
Кроме того, журнал консоли, похоже, работает нормально, когда console.log (данные) → отображает массив [img], указывающий на мои данные.
Я попытался отредактировать непосредственно URL-адрес save.php, написав: save.php? Img = test, чтобы увидеть, что происходит (запрашивая, конечно, $ _GET в моем состоянии).Он повторил то, что я просил (например, «YAY», когда он на самом деле получает $ _GET [img]), но не сделал то, что я ожидал (я попросил mkdir («./ images», 0777, true);плюс эхо, чтобы я мог ФИЗИЧЕСКИ увидеть, сработало это или нет).
Я также попытался ввести код для вставки данных в базу данных напрямую, но это помоглотоже не работает.
Это мой JS-код и AJAX-запрос:
var dataimg = canvas.toDataURL('image/png');
console.log(dataimg);
//photo.setAttribute('src', data);
var img = document.createElement('img');
img.src = dataimg;
document.getElementById('photo').append(img)
$.ajax({
url: "save.php",
type: "POST",
data: {"img": dataimg},
success: function(data) { //we got the response
console.log(data);
alert('Successfully called');
},
error: function(jqxhr, status, exception) {
alert('Exception:', exception);
}
}).done(function(o){
console.log('saved');
});
Это мой PHP-файл save.php:
if ($_POST[img]){
echo YAY;
touch ("./imagesfolder", 0777, true);
}
else
{
echo NULL;
}
Я смотрелвсе темы, которые я мог об этом, ни одна из этих попыток не сработала, и я не могу понять, что я делаю неправильно.
Это мой первый пост здесь, так что не стесняйтесь спрашивать меня больше деталей / проситьотредактируйте этот пост, чтобы он был максимально понятным - английский также не является моим родным языком, поэтому не стесняйтесь исправлять некоторые грамматические ошибки.
Спасибо заранее!