我已经浏览了很多其他文章,却不知道该怎么做。
AJAX:
$.ajax({
type: 'POST',
url: 'getSessionVariable.php',
contentType: 'application/json',
dataType: 'json',
success: function(data) {
alert(data);
},
error:function(data){
alert("error occured"); //===Show Error Message====
alert(data);
}
});
PHP:
<?
session_start();
print_r(json_encode($_SESSION["Variable"]));
?>
此解决方案返回“发生错误”
第二个Ajax语句:
jQuery.ajax({
type:'POST',
url: 'getSessionVariable.php',
contentType: 'json',
success:function(data){
alert("Sucess!");
alert(data);
},
error:function(data){
alert("error occured"); //===Show Error Message====
// alert(data);
}
});
第二个AJAX解决方案成功运行,但返回了整个php页面,我只是在寻找要返回的会话变量...
答案 0 :(得分:0)
那是因为我使用的是短标签。这次疏忽确实伤害了我,天哪!
<?
而不是
<?php
答案 1 :(得分:0)
确保您使用的是正确的标签<?php ?>
开瓶器
要使用<?= ?>
代替<?php echo "myString"; ?>
您必须在php ini设置中更改您的short_open_tag。
从PHP文档中您可以找到:
版本7.0.0的ASP标签
<%, %>, <%=,
和脚本标签已从PHP中删除。
-
5.4.0不论short_open_tag ini设置如何,标记
<?=
始终可用。
将代码<?
更改为<?php
并发送json_encode,您必须使用echo
而不是print_r
<?php
session_start();
echo json_encode($_SESSION["Variable"]);
?>