首页 > 解决方案 > Javascript innerHTML 将 PHP 脚本转换为 AJAX 响应上的注释

问题描述

当我使用 ajax 向 php 页面发送请求并返回包含 php 标签的 ECHO 内容时,它会将其转换为前端的注释,例如。$html = "<?php echo 'php here'; ?>" echo $html然后当我在 JS 中进入 innerHTML 并说它document.getElementById('el').innerHTML = response;变成评论并在浏览器中显示它这样<!--?php echo 'php here'; ?-->

这是表格。

           <form method="POST" id="sortiraj-forma">
                <fieldset>
                    <div class="form-group">
                    <label for="sortiraj-select">Sortiraj po</label>
                    <select class="form-control" id="sortiraj-select">
                        <option value="cena">Cena</option>
                        <option value="naziv">Naziv</option>
                    </select>
                    </div>
                    <button type="submit" value="sortiraj" class="btn btn-primary">Sortiraj</button>
                </fieldset>
            </form>

这是 jquery 向 sortiraj.php 发送 ajax 请求

    const form = document.getElementById('sortiraj-forma');
const select = document.getElementById('sortiraj-select');


form.addEventListener('submit', (event) => {
    event.preventDefault();

    let izbor = select.options[select.selectedIndex].value;

    $.ajax({
        url: 'sortiraj.php',
        type: 'POST',
        data: {
            vrstaSorta: izbor
        },
        success: (response) => {
            console.log(response)
            document.getElementById('knjige-row-container').innerHTML = response;
        }
    });
});

这是 sortiraj.php,它返回一些 php 代码

if($_POST['vrstaSorta'] == 'cena'){
        $knjige = Knjiga::sortirajPoCeni();

        $html = "<?php echo 'PHP HERE'; ?>"

        echo $html;
    }

标签: javascriptphpjqueryhtmlajax

解决方案


推荐阅读