首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在javascript函数中使用php?

如何在javascript函数中使用php?
EN

Stack Overflow用户
提问于 2011-12-12 17:03:25
回答 9查看 182.3K关注 0票数 27
代码语言:javascript
运行
复制
<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或其他东西,但我不知道该怎么做。

谢谢

EN

回答 9

Stack Overflow用户

发布于 2011-12-12 17:13:02

你不能用Javascript运行PHP代码。当用户收到页面时,服务器将评估并运行所有PHP代码,并将其取出。因此,举个例子,这是可行的:

代码语言:javascript
运行
复制
alert( <?php echo "\"Hello\""; ?> );

因为服务器会将其求值为:

代码语言:javascript
运行
复制
alert("Hello");

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

这一点:

代码语言:javascript
运行
复制
function Inc()
{
<?php
$num = 2;
echo $num;
?>
}

将会被简单地评估为:

代码语言:javascript
运行
复制
function Inc()
{
    2
}

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

例如,这将会起作用:

script.php

代码语言:javascript
运行
复制
$num = $_POST["num"];
echo $num * 2;

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

代码语言:javascript
运行
复制
$.post('script.php', { num: 5 }, function(result) { 
   alert(result); 
});

这应该会警告10。

祝好运!

http://jsfiddle.net/puVPc/:只需在页面上增加一个数字,就可以像这样在jQuery中轻松完成:

票数 37
EN

Stack Overflow用户

发布于 2011-12-12 17:20:22

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

JavaScript在接收到来自服务器的数据(如网页)后,在客户端运行。

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

所以有两种方式可以通过php与JavaScript进行交互。

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

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

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

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

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

票数 7
EN

Stack Overflow用户

发布于 2014-02-16 14:17:46

您可以在php中使用脚本。

代码语言:javascript
运行
复制
<?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>';
?>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8471945

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档