是否可以访问在文件中声明的全局变量,例如header.php
文件,从另一个名为content.php
的外部PHP文件加载了AJAX调用,而不使用GET或POST?
。
index . php:
<?php
include 'header.php'; //The global variable $SESSIONID is defined in this file
echo '<div id="for-content"></div>';
include 'footer.php';
?>
header。php
<?php
$SESSIONID = "asdf";
?>
content.php:
<?php
echo $SESSIONID;
?>
和AJAX调用:
$("#for-content").load("content.php");
不可以访问全局变量。你必须再次包括header.php
。AJAX用一个全新的http请求异步加载文档(在您的示例中是content.php
)。因此,它将加载content.php
没有任何数据。
唯一可能的解决方案是通过POST
发送$SESSIONID
与AJAX-Call:
$.ajax({
type: "POST",
url: 'content.php',
data: {session: '<?php echo $SESSIONID; ?>'},
success: function(data) {
$('.target').html(data)
},
dataType: 'html'
});
或GET
$.ajax({
url: 'content.php',
data: {session: '<?php echo $SESSIONID; ?>'},
success: function(data) {
$('.target').html(data)
},
dataType: 'html'
});