使用 jQuery 获取会话值

Posted

技术标签:

【中文标题】使用 jQuery 获取会话值【英文标题】:Get session value with 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信息 【参考方案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
);

【讨论】:

以上是关于使用 jQuery 获取会话值的主要内容,如果未能解决你的问题,请参考以下文章

如何在 jquery 方法中获取 asp.net 会话值?

在 JavaScript 中获取当前会话值?

使用 jquery ajax 在会话或会话存储中存储值

在规则中使用 php 会话值进行自定义 jquery 验证

单选按钮和会话,如何获取值并用作会话变量

Magento 如何获取会话小计值?