是否可以访问文件中声明的全局变量,例如一个header.php
文件,来自另一个已经加载了AJAX调用的名为content.php
的外部PHP文件,而不使用GET或POST?
e.g。
的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");
答案 0 :(得分:2)
不可以访问全局变量。您必须再次添加header.php
。 AJAX正在以完整的新http请求异步加载文档(在您的情况下为content.php
)。所以它会加载content.php
而没有任何数据。
唯一可行的解决方案是通过$SESSIONID
向AJAX-Call发送POST
:
$.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'
});