你如何在javascript函数中使用php

fos*_*sho 20 javascript php ajax function client-side

<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>
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止,虽然没有工作,我认为我需要使用ajax或其他东西,但我不知道该怎么做.

谢谢

And*_*son 29

您无法使用Javascript运行PHP代码.当用户收到页面时,服务器将评估并运行所有PHP代码并将其取出.例如,这将起作用:

alert( <?php echo "\"Hello\""; ?> );
Run Code Online (Sandbox Code Playgroud)

因为服务器会对它进行评估:

alert("Hello");
Run Code Online (Sandbox Code Playgroud)

但是,您无法使用它在PHP中执行任何操作.

这个:

function Inc()
{
<?php
$num = 2;
echo $num;
?>
}
Run Code Online (Sandbox Code Playgroud)

将简单地评估为:

function Inc()
{
    2
}
Run Code Online (Sandbox Code Playgroud)

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

例如,这将起作用:

script.php的

$num = $_POST["num"];
echo $num * 2;
Run Code Online (Sandbox Code Playgroud)

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

$.post('script.php', { num: 5 }, function(result) { 
   alert(result); 
});
Run Code Online (Sandbox Code Playgroud)

这应该提醒10.

祝好运!

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


Vig*_*ond 5

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

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

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

因此有两种方法可以与JavaScript交互JavaScript.

像上面一样,您可以使用php以与生成HTML相同的方式生成javascript.

或者您可以使用javascript的AJAX请求与服务器进行交互.服务器可以使用数据进行响应,javascript可以接收数据并对其执行某些操作.

我建议回到基础并研究HTTP如何在服务器 - 客户端关系中工作.然后研究服务器端语言和客户端语言的概念.

然后使用ajax教程,你将开始获得这个概念.

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