【问题标题】:Get session value with jQuery使用 jQuery 获取会话值
【发布时间】:2015-01-23 17:23:49
【问题描述】:

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

function GetSession()
{
    var value;

    function GetValue(data)
    {
        value = data;
    }

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

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

【问题讨论】:

  • 您正在尝试从异步操作中返回一个值(即稍后完成)。这永远不会起作用,因为它在结果可用之前很久就返回了。您需要改用回调或承诺。
  • 你有没有想过看看jquery cookie? github.com/carhartl/jquery-cookie可以获取session/cookie信息

标签: javascript php jquery ajax session


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2014-07-29
    • 2014-10-18
    • 2013-11-10
    • 2012-11-14
    • 1970-01-01
    • 1970-01-01
    • 2013-07-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多