#javascript #php #html #ajax
#JavaScript #php #HTML #ajax
Вопрос:
Добрый день, стекеры,
Я работаю над веб-проектом, в котором мы воссоздаем сайт социальных сетей, похожий на snapchat. Я использую свою веб-камеру для съемки с использованием JS, и я записываю изображение в переменную с именем img следующим образом:
var img = canvas.toDataURL("image/png");
Для доступа к базе данных мы должны использовать PDO в PHP. В качестве альтернативы мы можем использовать AJAX, но jQuery строго запрещен. Мой вопрос в том, как я могу сохранить dataURL внутри моей базы данных? Все онлайн-уроки используют jQuery.
Обновить:
Я выполнил шаги, предложенные ниже, но когда я нажимаю кнопку привязки, она по-прежнему делает только снимок, но без URL или ничего.
function sendimagetourl(image)
{
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function()
{
if (this.readyState == 4 amp;amp; this.status == 200)
{
alert( this.resoponseText);
}
}
xhtp.open("GET", "saveimage.php?url=" image, true);
xhttp.send();
}
//Stream Video
if (navigator.mediaDevices amp;amp; navigator.mediaDevices.getUserMedia)
{
navigator.mediaDevices.getUserMedia({video: true}).then(function(stream) {
video.src = window.URL.createObjectURL(stream);
video.play();
});
}
//Snap Photo
var canvas = document.getElementById('canvas');
var context = canvas.getContext('2d');
var video = document.getElementById('video');
document.getElementById("snap").addEventListener("click", function() {context.drawImage(video, 0, 0, 800, 600);var image = canvas.toDataURL("image/png"); sendimagetourl(image);});
Похоже, я был немного дураком. Были две незначительные опечатки, и кажется, что отправленные данные невидимы в URL. Спасибо за всю помощь!
Комментарии:
1. вы можете использовать простой javascript ajax
Ответ №1:
Вы можете использовать JavaScript ajax
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 amp;amp; this.status == 200) {
alert( this.responseText);
}
};
xhttp.open("GET", "saveimage.php?url=" url, true);
xhttp.send();
Комментарии:
1. Должен ли я использовать $_GET [‘url’] для извлечения данных в PHP?
2. да, вы можете использовать $_GET[‘url’] , так как это запрос get
3. Я дам вам знать примерно через 10 минут. Это похоже на некоторые сообщения, которые я читал, поэтому я уверен, что так и будет, я просто немного пытаюсь реализовать это, но я скоро запущу его, тогда я дам вам знать.
4. Я выполнил шаги, но это не работает. Пожалуйста, взгляните на мой вопрос сверху, где я опубликовал подробную информацию о моей новой проблеме.
5. используете ли вы какую-либо библиотеку js для щелчка по изображению?
Ответ №2:
Вы можете использовать XMLHttpRequest()
or fetch()
, Blob
, FormData
to POST
data URI
to php
. См. Также Использование файлов из веб-приложений
var request = new XMLHttpRequest();
request.open("POST", "/path/to/server", true);
request.onload = function() {
// do stuff
}
var data = new FormData();
data.append("image", new Blob([img], {type:"image/png"}), "filename");
request.send(data);