如何将 JavaScript 函数数据放入 PHP 变量中

IT技术 php javascript function
2021-01-18 21:11:56

我正在使用 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 变量中?

5个回答

使用 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'];
?>
我正在尝试这样做以将 Javascript 变量传递到新窗口。PHP 代码需要在新窗口中还是在父窗口中?无论哪种方式,我都无法让它工作。
2021-04-03 21:11:56
@garcon1986,是的,$.get() 正在使用 ajax!
2021-04-06 21:11:56

JavaScript 代码在客户端执行,而 PHP 在服务器端执行,因此您必须将 JavaScript 值发送到服务器。这可能隐藏在Ajax$_POST或通过Ajax 进行

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

您将不得不使用Ajax,因为客户端脚本不能被服务器端代码调用,结果在服务器端范围内可用。您可能必须在客户端进行 Ajax 调用,这将设置 PHP 变量。

    <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']);
        }
    ?>