@html_student
Молодой и глупый.

Как правильно сделать запрос ajax на javascript?

Подскажите , пишу скрипт на javascript, хочу сделать скриншот на канвасе (это будет набор изображений которые формируются при прохождении опросника) и поделиться им в соц сети.
Итого нашел эту библиотеку
https://html2canvas.hertzen.com/

Далее на js

window.onload = function() {
    document.getElementById("qq").onclick = function() {
        html2canvas(field).then(function(canvas) {
            var my_screen = canvas.toDataURL('image/jpeg', 0.5)
            console.log(my_screen)
          document.getElementById("vk").addEventListener('click', function(){
            window.open('https://vkontakte.ru/share.php?url='+my_screen+',sharer,status=0,toolbar=0,width=650,height=500')
        })
        });
    };
}


Но так как в my_screen, лежит изображение в base64, то хочу прибегнуть к ajax и php

То есть алгоритм такой, я функцией собираю скриншот на канвасе, с помощью ajax сохраняю изображение в папку сайта и возвращаю урл изображения в виде ссылки где оно лежит.

Ну а далее скрипт для того чтоб поделиться

window.open('https://vkontakte.ru/share.php?url='+my_screen+',sharer,status=0,toolbar=0,width=650,height=500')


Аякс разобрался как работает на jquery , а вот на ванильном js не пойму как сделать.
В php же думаю так,

<?php
	$name = time().".jpg";
	$check_save = @file_put_contents($name, base64_decode($_POST["data"]));
?>


На сколько правильное решение сформировалось в голове, и как правильно отправить запрос ajax именно на ванильном js?
  • Вопрос задан
  • 140 просмотров
Решения вопроса 1
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
На сколько правильное решение сформировалось в голове,
Достаточно стандартное решение

и как правильно отправить запрос ajax именно на ванильном js?
XMLHttpRequest или fetch, по сути разницы нет, единственно надо учесть что данные через фетч по умолчанию попадут в php://input, а не в $_POST, либо нужно формировать запрос с формДата в качестве отсылаемой структуры данных.

получается можно и без бекенда решить задачу?
Нет. Не понятно откуда такой вывод...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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