如何将JavaScript函数数据导入PHP变量

如何将JavaScript函数数据导入PHP变量,php,javascript,function,Php,Javascript,Function,我正在使用PHP和JavaScript。我的JavaScript代码包含一个函数get_data(): 现在我有了下面的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和JavaScript。我的JavaScript代码包含一个函数get_data():

现在我有了下面的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变量中?

您必须将其用作客户端脚本,而服务器端代码无法使用服务器端作用域中可用的结果调用客户端脚本。您可能需要在客户端进行Ajax调用,以设置PHP变量。

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

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

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

$.get($url, {name: get_name(), job: get_job()});
在PHP代码中,从
$\u get['name']
$\u get['job']
获取变量,如下所示:

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

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


    <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']);
        }
    ?>
函数get_Data(){ 变量名; var作业; ..... 返回缓冲区; } 函数getData() { var agree=确认(“获取数据?”); 如果(同意) { document.getElementById('javascriptOutPut')。value=get_Data(); 返回true; } 其他的 { 返回false; } }
我和你有同样的问题。你解决了吗?真是个大问题!谢谢你posting@garcon1986,是的,$.get()正在使用ajax!我正试图这样做,以便将Javascript变量传递到一个新窗口。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']);
        }
    ?>