如何在Ajax请求后访问$ _SESSION变量?

时间:2013-12-22 00:27:48

标签: javascript php jquery ajax session

我有一个页面,人们可以登录,他们的登录请求与jQuery的$ .ajax一起发送到处理页面。在该页面上,登录尝试期间收集的所有错误都存储在$ _SESSION ['error']中。

如何在尝试之后访问此变量以提醒用户错误。我知道如何访问会话变量,我的意思是如何在不重新加载页面的情况下访问php变量。我目前唯一知道的方法是在页面加载时注入它们,但是由于Ajax请求而在更改之后必须有一些方法可以使用JavaScript访问它们。

1 个答案:

答案 0 :(得分:1)

很遗憾,您无法直接从JavaScript访问PHP $_SESSION[]数组。这是设计上的,因为使用Session的一个主要问题是数据是保存在服务器端的,最终用户无法修改,因此也就是你的Javascript。

然而,您可以做的是在ajax响应中包含错误列表。有可能你正在做一个返回'json'类型格式的ajax请求。只需在返回的json中包含错误列表,然后使用JavaScript显示它们。我建议不要共享整个$_SESSION数组,因为它可以提供有关PHP互通的一些关键信息。

另外,如果你当前没有做一个期望json的ajax请求,那么请考虑将其切换,以便你期待并返回json。您可以通过这种方式提供更多隐藏数据,而不仅仅是一些HTML或文本。

希望这有帮助