В php скриптах не обязательно всегда отдавать клиенту html-текст, тем более в виде статики (за пределами тегов <? ?>).
А если вы еще используете ajax, обращаясь к тем же скриптам, что формируют полную html страницу, то можно отдавать ответ гораздо гибче (отдавать только чистые данные, без html в случае AJAX, и в остальных случаях - html оснастку, чтобы браузер нарисовал начальное состояние страницы):
<?php
if(isset($_POST['checkout']))
{
// получили параметр, который используется в AJAX - отдаем только данные (числа, строки, или json объекты)
echo 'posted:'.$_POST['checkout'];
}
else
{
// не получили специфичных для ajax параметров - отдаем клиенту обычный HTML
echo '<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div><?php echo $test ?></div>
<script type="text/javascript" src="js/jquery-3.6.0.min.js"></script>
<script type="text/javascript" src="script.js"></script>
</body>
</html>';
}
?>
На этом строят API своей системы.