$.ajax({
                url: "http://localhost:2585/Menu/index",
                type: "post",
                dataType: "JSON",
                success: function(data) {
                    var obj = eval(data);
                    $("#data").data("obj", obj);
                    
                },
                beforeSend: function() {
                    window.status = "正在加载中。";
                },
                complete: function() {
                    window.status = "加载完成。。";
                }
            });
            alert($("#data").data("obj"));  //为NULL   为什么不能保存啊
            return obj;
        }

解决方案 »

  1.   

    因为AJAX默认是异步执行的问题。所以,你下面ALERT时,AJAX只是刚发出请求,实际数据还没有返回。所以,ALERT应该放在success: function(data)中,就是在$("#data").data("obj", obj);之后。
      

  2.   

    或者你需要这样的结构的话,那就得把AJAX的执行方式改成同步模式。
      

  3.   

    url: "http://localhost:2585/Menu/index",
      type: "post",
      async:false,
      dataType: "JSON",
    ...
    这样就可以了
      

  4.   

    async="false";是否异步加载文件,3楼将AJAX的执行方式改成同步了估计不是楼主想要的。