使用 jQuery 获取会话值

Get session value with jQuery

本文关键字:会话 获取 jQuery 使用      更新时间:2023-09-26

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

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

然而,在我调用此函数后,"value"变量仍然未定义。如何将"数据"的值赋予"值"变量?感谢您的回答!

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

使用回调,代码如下所示:

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
});