如何使用jquery发布和获取php变量?

时间:2011-08-25 16:30:50

标签: php jquery mysql post get

我有几个php vars:

$test = 12345;
$test1 = "test1";
$test2 = "test2";

我有一个jquery函数:

onlike:function(response){
    $('input#helpdiv').trigger('click');    
}

我想要的是将这些php变量通过jquery帖子传递给另一个test.php文件。

我在考虑这样的事情:

var test = <?php echo $test; ?>; 
var test1 = <?php echo $test1; ?>; 
var test2 = <?php echo $test2; ?>; 

onlike:function(response){
    $('input#helpdiv').trigger('click');
    $.post("test.php", { test, test1, test2 } );
}

然后如何在test.php中获取它们?就像$_GET["test"], ...

一样

关于如何把它放在一起的任何想法?

感谢

3 个答案:

答案 0 :(得分:3)

<script language='javascript'> 
 var test = "<?php echo $test; ?>"; 
  var test1 = "<?php echo $test1; ?>"; 
  var test2 = "<?php echo $test2; ?>"; 

  onlike:function(response){
      $('input#helpdiv').trigger('click');
      $.post("test.php", { test:test, test1:test1, test2:test2  } );
        }
 </script>

在test.php中你可以访问$ _POST ['test'],$ _ POST ['test1'],$ _ POST ['test2']

编辑:

避免变量值之间的引号引起的问题, 如下所述:how to post and get php vars with jquery?

  var test = "<?php echo json_encode($test); ?>"; 

并且值可以在test.php中作为

加入
 $test1 = json_decode($_POST['test'])

答案 1 :(得分:2)

var test = '<?php echo $test; ?>';

您需要在JS

中的值周围加上引号

页面加载时,您还可以使用这些变量吗?由于javascript将在页面加载时呈现,因此当时将采用现有值。

同时检查http://api.jquery.com/jQuery.post/是否可以使呼叫更清晰,以便处理响应。

答案 2 :(得分:1)

结束我上面的评论:首先引用字符串文字变量,例如

    $test = "test";
var test = '<?php echo $test; ?>';

然后将它们作为键值对添加到您传递给post函数的对象,例如

{ test: test }