使用jQuery获取会话值

时间:2014-11-25 15:56:29

标签: javascript php jquery ajax session

我想在按钮点击时从会话变量中检索数据,而无需重新加载页面。我的getter函数如下:

function GetSession()
{
    var value;

    function GetValue(data)
    {
        value = data;
    }

    $.get("sessionAPI.php?action=get", function(data) { GetValue(data); });
    return value;
}

然而,在调用此函数后,“value”变量仍未定义。我怎样才能将“data”的值赋给“value”变量?谢谢你的答案!

1 个答案:

答案 0 :(得分:3)

您正在尝试从异步操作返回一个值(即稍后完成)。这将永远不会起作用,因为它在结果可用之前很久就会返回。你需要使用回调或承诺。

使用回调代码如下:

function GetSession(callback)
{
    $.get("sessionAPI.php?action=get", function(data) { callback(data); });
}

并使用如下:

GetSession(function(value){
  // Do something with the session value
});

使用承诺:

function GetSession()
{
    return $.get("sessionAPI.php?action=get");
}

并使用如下:

GetSession().done(function(value){
  // Do something with the session value
});