如何将JavaScript函数数据传递到PHP变量中

10

我正在使用PHP和JavaScript。我的JavaScript代码包含一个名为get_data()的函数:

function get_Data(){
    var name;
    var job;
    .....

    return buffer;
}

现在我有以下 PHP 代码。

<?php
    $i=0;
    $buffer_data;

    /* Here I need to get the value from JavaScript get_data() of buffer;
       and assign to variable $buffer_data. */
?>

如何将JavaScript函数的数据分配到PHP变量中?


我和你有相同的问题。你解决了吗? - SUN Jiangong
这是一个非常好的问题,真的!感谢您的发布。 - Yusha
5个回答

11

使用jQuery将JavaScript变量发送到您的PHP文件:

$url = 'path/to/phpFile.php';

$.get($url, {name: get_name(), job: get_job()});

在你的 PHP 代码中,像这样从 $_GET['name']$_GET['job'] 获取你的变量:

<?php
    $buffer_data['name'] = $_GET['name'];
    $buffer_data['job']  = $_GET['job'];
?>

1
@garcon1986,是的,$.get()正在使用ajax! - Uzbekjon
2
我正在尝试这样做,以便将Javascript变量传递到新窗口。PHP代码需要在新窗口还是父窗口中?无论哪种方式,我都无法使其工作。 - Kenny Johnson

1

JavaScript 代码在客户端执行,而 PHP 在服务器端执行,因此您将不得不将 JavaScript 值发送到服务器。这可以通过 $_POST 或通过 Ajax 来完成。


0

你需要使用Ajax作为客户端脚本,因为服务器端代码无法调用客户端脚本并在服务器端范围内获取结果。你需要在客户端进行Ajax调用,以设置PHP变量。


0
如果您没有使用或需要Ajax的经验,那么只需将数据放入post/get中,然后将数据发送回您的页面即可。

0
    <script>
        function get_Data(){
            var name;
            var job;
            .....
            return buffer;
        }

        function getData()
        {
            var agree=confirm("get data?");
            if (agree)
            {
                document.getElementById('javascriptOutPut').value = get_Data();
                return true;
            }
            else
            {
                return false;
            }
        }
    </script>

    <form method="post" action="" onsubmit="return getData()"/>
        <input type="submit" name="save" />
        <input type="hidden" name="javascriptOutPut" id="javascriptOutPut"/>
    </form>

    <?php
        if(isset($_POST['save']))
        {
            var_dump($_POST['javascriptOutPut']);
        }
    ?>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接