在页面之间传递Query参数

时间:2014-10-10 10:37:47

标签: javascript php ajax

我正在尝试使用jQuery在php页面之间传递变量。

我的代码:我在fullcalendar.js API上使用它:

第一页:EventMain.php

select: function (start, end) {

   $.ajax({
      url: '/dev/Event/Event.php',
      type: 'POST',
      data: {name: 'John'}
   });

  PopupCenter(url,'Event', 1000, 450)
}

然后用第二个Page:Event.php打开pop。我需要获取名称变量

var Name = <? php echo $_POST['name']; ?>;

alert(Name);

警报空白..我不明白为什么?

我知道我可以将url上的变量作为参数发送,然后在Event.php上使用getUrlParameter来获取变量:

function getUrlParameter(sParam){
    var sPageURL = window.location.search.substring(1);
    var sURLVariables = sPageURL.split('&');
    for (var i = 0; i < sURLVariables.length; i++) 
    {
        var sParameterName = sURLVariables[i].split('=');
        if (sParameterName[0] == sParam) 
        {
            return sParameterName[1];
        }
    }
}

但我不想在网址上发送变量。有没有其他方法来发送变量?

4 个答案:

答案 0 :(得分:1)

您无法在另一个会话中访问POST变量。

您打开的弹出窗口是对没有数据的网页的新请求。

你想要实现的目标没有合理的解决方案。

答案 1 :(得分:1)

将变量从EventMain.php传递到Event.php

$.ajax({
         type: 'post',
         url : '/dev/Event/Event.php',
         data: { name : 'John'},
         success: function(response) {   // return content from Event.php (result) page
                // Do your operation with result
          }
  });

在Event.php中

<?php 
$name = $_POST['name'];
// Perform your actions with $name and return result as
echo $yourresult;
exit;
?>

答案 2 :(得分:0)

试试这种方式......

<强> eventMain.php

$.post('/dev/Event/Event.php',{'name':'John'}, function(data){
   // do something with response 
});

<强> Event.php

<?php
   $name = $_POST['name'];
 ?>

<script>
   console.log('<?= $name; ?>');
</script>

答案 3 :(得分:0)

我认为您在第二页中为变量""分配值时忘记了name

第一页:

<!-- you don't forget this tag to see the result //-->
<div id="content"></div>

$.ajax({
    url: 'page.php',
    type: 'POST',
    data: {name: 'John'},
    success: function (data) {
        $('#content').html(data);
    }
});

第二页(event.php):

<script type="text/javascript">
    var name = "<?php echo $_POST['name']; ?>";
    alert(name);
</script>

以前的代码对我有用,我已经测试过了。