我有这个javascript来更新php会话变量:
$(document).ready(function(){
$('#facebook_img').live('click',function(){
login_condetion = 1;
$.ajax({
type: "POST",
url: 'facebook_login_condition_variable.php',
data:{login_condetion:login_condetion},
dataType: "json",
success: function(data)
{
alert(123);
},
error : function(XMLHttpRequest, textStatus, errorThrown) {
/*alert(XMLHttpRequest);
alert(textStatus);
alert(errorThrown);
alert(XMLHttpRequest.responseText);*/
}
});
});
});
我在此代码之前和之后打印会话值,但它永远不会改变,当我提醒responsText时,我什么也得不到,XMLHttpRequest给了我对象对象错误。
这是我的PHP代码:
<?php
$temp = $_POST['login_condetion'];
if(!empty($temp) && $temp != 0)
{
$_SESSION['do_not_allow_auto_facebook_login'] = 1;
}
else
{
$_SESSION['do_not_allow_auto_facebook_login'] = 0;
}
$go = $_SESSION;
echo json_encode($go);
?>
ajax函数的dataType有问题吗?或者这是一个php会话问题?请帮帮我,因为我已经被困在这里很久了。
答案 0 :(得分:2)
在脚本顶部使用session_start():
<?php
session_start();
...
答案 1 :(得分:2)
一些建议..
您是否在使用它的页面顶部开始session
。
在session_start();
在php代码中替换
$ go = $ _SESSION;
与
$go = $_SESSION['do_not_allow_auto_facebook_login'];
3.您是否需要数据类型json
,如果不删除此行
echo json_encode($go);
并使用
echo $go;