У меня есть php API с $ _POST, где я получаю ключ API и QR-код из запроса. Затем мой сервер php генерирует код html с <div>, <img> <html> <body>
et c .. это означает полный веб-сайт - получение данных с сервера mysql и рендеринг на страницу html. В конце кода php у меня есть код javascript, подобный следующему:
?>
<script>
window.scrollTo(0, 0);
html2canvas(document.getElementById("SelectorToPrint")).then(function (canvas) {
var dd= canvas.toDataURL("image/jpeg",1);
$.ajax({
type: "POST",
url: "https://myserver/API/sendimg.php",
data: {
key: '<?php echo $key;?>',
barkod: '<?php echo $qrcode;?>',
img: dd
}
}).done(function(o) {
});
});
</script>
Когда я отображаю страницу, изображение сохраняется (используя html2canvas js), все в порядке .
Проблема в том, что когда я вызываю этот запрос API из другого кода php, страница не отображается, и по этой причине изображение не отображается.
Есть ли некоторые способ рендеринга html страницы и сохранения изображения без отображения сгенерированного кода html?
Я поменял код некоторое время - чтобы не было $ _POST, но $ _GET и тестирование с этим кодом:
<?php
$key='my_api_key';
$qrcode='my_code';
$test = file_get_contents('https://myserver/API/apipage.php?key='.$key.'&qrcode='.$qrcode);
//var_dump($test) ;
?>
при удалении var_dump из кода страница не отображается и изображение не сохраняется. Когда я включаю var_dump (или просто print_r или echo), картинка генерируется правильно. Проблема в том, что я не хочу отображать код html (я думаю, это нормально, когда я говорю о вызовах API).
Спасибо за любую подсказку