如何在javascript函数中使用php

2022-08-30 15:39:31
<html>
    <?php
        $num = 1;
        echo $num;
    ?>
    <input type="button"
           name="lol" 
           value="Click to increment"
           onclick="Inc()" />
    <br>
    <script>
        function Inc()
        {
        <?php
            $num = 2;
            echo $num;
        ?>
        }
    </script>
</html>

这就是我到目前为止所拥有的,虽然不工作,但我认为我需要使用ajax或其他东西,但我不知道该怎么办。

谢谢


答案 1

你不能用Javascript运行PHP代码。当用户收到页面时,服务器将评估并运行所有PHP代码,并将其取出。例如,这将起作用:

alert( <?php echo "\"Hello\""; ?> );

因为服务器将对其进行评估::

alert("Hello");

但是,您不能使用它在PHP中执行任何操作。

这:

function Inc()
{
<?php
$num = 2;
echo $num;
?>
}

将简单地评估为:

function Inc()
{
    2
}

如果您不想调用PHP脚本,则必须调用一个不同的页面,该页面从一组参数返回一个值。

例如,这将起作用:

脚本.php

$num = $_POST["num"];
echo $num * 2;

Javascript(jQuery) (在另一页上):

$.post('script.php', { num: 5 }, function(result) { 
   alert(result); 
});

这应该会提醒 10。

祝你好运!

编辑:只需在页面上递增一个数字就可以在jQuery中轻松完成,如下所示:http://jsfiddle.net/puVPc/


答案 2

我认为您将服务器代码与客户端代码混淆了。

JavaScript 在客户端从服务器(如网页)接收到数据后在客户端上运行。

PHP 在发送数据之前在服务器上运行。

因此,有两种方法可以通过php与JavaScript进行交互。

如上所述,您可以使用php生成javascript,就像使用php生成HTML一样。

或者,您可以使用来自 javascript 的 AJAX 请求与服务器进行交互。服务器可以用数据响应,javascript可以接收数据并用它做一些事情。

我建议回到基础,研究HTTP在服务器 - 客户端关系中的工作原理。然后研究服务器端语言和客户端语言的概念。

然后使用ajax学习教程,您将开始获得概念。

祝你好运,谷歌是你的朋友。