为什么我仍然在javascript中获得对象对象错误?

时间:2014-06-03 11:22:27

标签: javascript php jquery ajax

我有这个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会话问题?请帮帮我,因为我已经被困在这里很久了。

2 个答案:

答案 0 :(得分:2)

在脚本顶部使用session_start():

<?php
session_start();
...

答案 1 :(得分:2)

一些建议..

  1. 您是否在使用它的页面顶部开始session

    在session_start();

  2. 在php代码中替换

    $ go = $ _SESSION;

  3.  $go = $_SESSION['do_not_allow_auto_facebook_login'];
    

    3.您是否需要数据类型json,如果不删除此行

    echo json_encode($go);
    

    并使用

    echo $go;