如何在 javascript 函数中使用 php

IT技术 php javascript ajax function client-side
2021-03-14 18:41:32
<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 或其他东西,但我不知道该怎么做。

谢谢

6个回答

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

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

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

alert("Hello");

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

这:

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

将简单地评估为:

function Inc()
{
    2
}

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

例如,这将起作用:

脚本文件

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

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

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

这应该提醒 10。

祝你好运!

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

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

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

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

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

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

或者您可以使用来自 javascript 的 AJAX 请求与服务器交互。服务器可以使用数据进行响应,javascript 可以接收该数据并对其进行处理。

我建议回归基础并研究 HTTP 在服务器-客户端关系中的工作方式。然后研究服务器端语言和客户端语言的概念。

然后学习 ajax 教程,您将开始了解概念。

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

你在php中使用脚本..

<?php

        $num = 1;
        echo $num;

    echo '<input type="button"
           name="lol" 
           value="Click to increment"
           onclick="Inc()" />
    <br>
    <script>
        function Inc()
        {';
            $num = 2;
            echo $num;

        echo '}
    </script>';
?>
它适用于我的代码,但我认为它不优雅。
2021-05-20 18:41:32

简单地说,您的问题听起来是错误的,因为需要回显 JavaScript 变量。

<?php
        $num = 1;
        echo $num;
        echo "<input type='button' value='Click' onclick='readmore()' />";
   		echo "<script> function readmore() { document.write('";
        $num = 2;
        echo $num;
        echo "'); } </script>";
?>

在上面给出的代码中

将 php 值分配给 javascript 变量。

<html>
<?php
 $num = 1;
 echo $num;
?>
  <input type = "button" name = "lol" value = "Click to increment" onclick = "Inc()">
  <br>
  <script>
   var numeric = <?php echo $num; ?>"; //assigns value of the $num to javascript var             numeric 
  function Inc()
   {
     numeric = eVal(numeric) + 1;
     alert("Increamented value: "+numeric);
   }
  </script>
</html>

PHP 和 Javsacript 组合的一件事是您不能将 javascript 值分配给 PHP 值。您可以将 PHP 值分配给 javascript 变量。

eval(numeric)? 我不相信那属于那里。numeric++应该足够了。
2021-05-13 18:41:32