【问题标题】:Jquery .post used to store php session variable. How to avoid refresh to call session valueJquery .post 用于存储 php 会话变量。如何避免刷新调用会话值
【发布时间】:2011-01-06 05:38:08
【问题描述】:

我正在使用 jquery 的 .post ajax 调用来提取表单输入值并将其传递给启动会话并将值存储在其中的 php 文件。然后在不同的页面上调用会话值。

问题是,这一切都是在没有页面刷新的情况下发生的,所以会话值总是落后一页刷新。 IE。第一次调用会话值时它是空白的,但在刷新后,该值会加载初始输入值。再次刷新时,会拉取会话的第二个值。所以,会话值永远不会是最新的......它落后了。

如何使 php 会话变量是最新的而不需要刷新?

或者,如果需要通过刷新来解决这个问题,最好的方法是什么?

感谢您的帮助!

【问题讨论】:

标签: php jquery variables session refresh


【解决方案1】:

假设您使用 php 会话的默认设置来使用 cookie,您可以从 cookie 访问会话 ID。 Javascript 可以访问 cookie。

但是,您真的需要会话 ID 吗?浏览器将为您发送的下一个 AJAX 请求发送它,因此您实际上不需要做任何事情,除非您使用多个会话 ID 做一些更复杂的事情......

【讨论】:

  • 这个项目有点复杂。我正在使用 jquery 将变量拉到一个页面上,并将其传递到另一个完全是 php 并加载到原始页面上的弹出窗口中的页面。全部无需刷新页面。因此,由于只能使用 php 访问该变量,我认为会话将​​是最好的解决方案。现在知道了……你有什么建议?
  • 只要一切都在同一个域上完成,那么他们就不需要会话 ID。浏览器随每个请求发送给定域和/或路径的所有 cookie。因此,如果您有一个弹出窗口并且它发送另一个请求,无论是 AJAX 还是表单提交,它将包括所有 cookie 以及用于存储会话 id 的 cookie。
  • 表单未提交。我用 jQuery 停止它,然后通过 .post 传递值。这将如何影响 cookie?你能告诉我如何通过它的例子吗?
  • Spatel,我尝试使用 jQuery Cookie,但结果相同,需要刷新页面才能传递值。有什么想法可以避免需要刷新页面吗?
【解决方案2】:

如果您想使用此值进行操作,只需通过 jSON 将其返回并在回调函数中执行您的逻辑。

【讨论】:

【解决方案3】:

我最终不需要使用会话或 Cookie。

我在这里找到了解决问题的方法:

http://simple.procoding.net/2008/03/21/how-to-access-iframe-in-jquery/

问题是我需要传递的变量在不同的页面上。因为我用 iframe 加载了这个页面,所以我可以使用 jQuery 将变量带到输入中,而无需 php 会话或 php cookie。我使用了上面链接帖子中的技术。

感谢所有提供帮助的人。

【讨论】:

    猜你喜欢
    • 2014-05-15
    • 2015-07-02
    • 1970-01-01
    • 2013-10-25
    • 1970-01-01
    • 2013-03-06
    • 1970-01-01
    • 2021-01-07
    • 2015-03-12
    相关资源
    最近更新 更多