首页 > 解决方案 > 在php方法ajax中显示js代码

问题描述

我通过单击一个按钮通过 ajax 方法运行 PHP 代码。

$(".btn_ranking").one('click', function(e) {
    e.preventDefault();
    var name = localStorage.getItem('name');
    var time = localStorage.getItem('timer_end');

    $.ajax({
        url: "php/file.php",
        method: "POST",
        data: { 
            name: name, 
            time: time 
        }
    });
});

我希望file.php能够运行 js 代码,例如:

if ($time < $_SESSION['time']) {
    [...]
}
else {
    echo '<script>alert("lol");</script>';
}

并且当.btn_ranking按下页面上的按钮时,将显示“大声笑”警报。如果有可能?

标签: javascriptphp

解决方案


好的..首先更改您的 js 代码以处理来自 php 脚本的答案:

$(".btn_ranking").one('click', function(e) {
        e.preventDefault();
        var name = localStorage.getItem('name');
        var time = localStorage.getItem('timer_end');

        $.ajax({
            url: "php/file.php",
            method: "POST",
            data: { name: name, time: time }
            success: function(data) {
              console.log(data);
              // check if it is true/false, show up alert
            }
        });
    });

然后更改 php script (file.php),如下所示:

                $response = [];
                if ($time < $_SESSION['time']) {
                    $response['data'] = false;
                }
                else {
                    $response['data'] = true;
                }

return json_encode($response);

想法就是这样:) 当你使用 POST 方法发送 ajax 时,从那里获取变量,而不是从 $_SESSION :)

你可以在这里看到很好的例子


推荐阅读