一种使用DOM从外部javascript文件访问php会话数据的方法


a way to access php session data from an external javascript file using DOM

我正在创建一个模拟微博客网站的基本web应用程序。

当用户登录时,MySql查询结果中的一些帐户信息存储在会话变量中,以便对用户进行跟踪。比如userID, userName, userEmail等等

在创建帖子页面上,当用户单击提交时,外部链接的javascript文件开始工作,它有自己的事件处理程序并使用AJAX完成其余工作,然后将结果输出到当前的"创建帖子网页"。

显然,在创建帖子时,我需要存储用户ID,但我似乎无法将其传递给AJAX。

我正在考虑的解决方案是创建一个隐藏的输入字段,并将用户ID(数字数字)放在占位符中,然后在JS文件中使用DOM并调用doc。getelementby找出用户ID是什么,我可以做这个帖子标题,和帖子内容,但显然想要隐藏的用户ID,所以有一种方法,我可以保持它隐藏的用户在创建帖子页面(它目前是一个php会话变量),并将其传递给Ajax函数来创建帖子?

也许你的AJAX脚本可以调用后端PHP文件,通过$_SESSION['userName'], $_SESSION['userEmail']等访问会话变量,并做任何你需要它做的(例如,代表用户创建一个帖子)。

换句话说,PHP作用于当前登录的用户(由用户无法访问的会话变量标识),JavaScript根据您发送给它的任何响应更新UI。

您可以使用隐藏输入来实现您的想法,并在隐藏字段中散列用户id。您可以通过PHP在服务器端对其进行散列,甚至可以在保存到数据库之前发布散列值并通过PHP进行解密。使用jQuery,您可以通过以下方式获取隐藏字段的值:

val userID = $('#userID').val();

比老式的document.getElementById方法稍微省力。