我正在尝试使用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];
}
}
}
但我不想在网址上发送变量。有没有其他方法来发送变量?
答案 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>
以前的代码对我有用,我已经测试过了。