如何将javascript变量传递到同一页面的php中

时间:2014-07-23 11:37:59

标签: javascript php jquery excel

如何将javascript变量分配给php。

$("button").click(function() {

        var val = (this.id);

$.ajax ({
            url: "date.php",
            //data: { val : val },
            data:'q=' + val,
            type: "GET",
            success: function(result) {

             if(result==1)
             {
            page = "<?php echo $today;?>";
             }
            else if(result==2)
            {
            page = "<?php echo $this_week;?>";
            }
            else if(result==3)
            {
            page="<?php echo $this_month;?>";
            }   
            else if(result==4)
            {
            page="<?php echo $previous_month;?>";
            }   
            else
            {
            "<?php echo $today;?>";
            }   
           }
        });
    });

这里我想传递变量&#39; page&#39;到php,用于分配导出excel文件名。我在php中完成了这样做

<?php
$page = ('<script type="text/javascript">page</script>');
?>

$ page变量我想在这里分配。

<script>
    saveAs(new Blob([s2ab(wbout)],{type:"application/octet-stream"}), "<?php echo $name[0] ?>- Report-<?php echo $page?>.xlsx");
    };
</script>

但是我得到错误,否则任何其他方法来分配变量。

我的date.php

<?php
    $var=$_GET['q'];
    if($var == 'getToday')
    {
        echo "1";
    }
    elseif($var =='getWeek')
    {
      echo "2";
    }
    else if($var =='getMonth')
    {
      echo "3";
    }
    else if($var =='getpremon')
    {
      echo "4";
    }
    else
    {
      echo "5";
    }
?>

2 个答案:

答案 0 :(得分:0)

基本上,您无法运行客户端脚本或为服务器脚本指定值,但为了实现我们的目标,我们可以使用ajaxjquery variable分配给php

$.ajax ({
        url: "date.php",
        //data: { val : val },
        data:'q=' + val,
        type: "GET",
        success: function(result) {

         if(result==1)
         {
        page = "<?php echo $today;?>";
         }
        else if(result==2)
        {
        page = "<?php echo $this_week;?>";
        }
        else if(result==3)
        {
        page="<?php echo $this_month;?>";
        }   
        else if(result==4)
        {
        page="<?php echo $previous_month;?>";
        }   
        else
        {
        "<?php echo $today;?>";
        }
       $.ajax({
           url:'url',
           type:'GET/POST',
           data:{page:page} <-----This send the value from js to php 

           })   
       }
    });
});

此处URL是您希望获得variable page

的位置

答案 1 :(得分:0)

只需使用java脚本变量“page”,

<script>
saveAs(new Blob([s2ab(wbout)],{type:"application/octet-stream"}), "<?php echo $name[0] ?>-       BI Usage Report-"+page+".xlsx");
};

不需要将java脚本变量混合到php。

否则您可以直接从mydate.php返回值,请参阅下面的代码

<?php 
$var=$_GET['q'];


    if($var == 'getToday')
        {
         echo $today;
        }
    elseif($var =='getWeek')
        {
          echo $this_week;
        }
    else if($var =='getMonth')
        {
           echo $this_month;
        }
    else if($var =='getpremon')
        {
          echo $previous_month;
        }
    else
        {
          echo "5";
        }

 ?>

和      $(“button”)。click(function(){

    var val = (this.id);

     $.ajax ({
        url: "date.php",
        //data: { val : val },
        data:'q=' + val,
        type: "GET",
        success: function(result) {
          page = result
         }
    });
});

现在您可以使用java脚本变量“page”。