当前位置: 首页 > 面试题库 >

为什么不能从称为AJAX的PHP脚本访问会话变量?

华凡
2023-03-14
问题内容

我有一个带有会话变量的PHP脚本,设置如下:

$_SESSION['VAR1'] = "test"

现在,我通过jQuery启动的POST请求使用AJAX,因此我有一个名为的脚本ajax.php,它具有所有必需的功能。

当我尝试访问echo $_SESSION['VAR1']ajax.php中的会话变量()时,它什么也没有产生。

会话对AJAX请求无效吗?


问题答案:

在访问会话之前,需要在访问该会话的每个页面上执行此操作:

session_start();

这意味着在设置会话变量的页面和试图检索该变量的AJAX页面上均如此。两者都需要打电话session_start()

只要AJAX请求在同一个域中调用脚本(并因此可以访问会话cookie),就没有理由无法访问会话变量。毕竟,一个AJAX请求只是另一个HTTP请求



 类似资料:
  • 我是使用会话变量的新手,尽管我在网上搜索了解会话变量,但我一直在苦苦挣扎。 所以基本上我有一个页面(search.php)。我加载一个基于搜索表单的动态数据表。加载表后,我通过AJAX执行以下操作: 正如您在Success和单击table row记录时所看到的,我的想法是通过AJAX发布一个变量以供以后使用。并将用户重定向到update.php页面。 然后,我希望使用发布的AJAX变量在sessi

  • 我正在尝试根据Docker的官方Elasticsearch图像运行自定义图像。然而,当我试图通过访问它时,它不起作用。 我创建了一个自定义elasticsearch。主机设置为127.0.0.1(localhost)的yml文件,然后构建elasticsearch自定义映像并运行它。可以在下面的链接中找到步骤。https://www.elastic.co/guide/en/elasticsearc

  • 问题内容: 我正在阅读Java中的匿名类,它说您可以访问封闭类的方法,但不能访问局部变量。为什么会这样呢?我在说这个: 编辑:较旧的示例是不正确的,不能反映我的意思。根据在“访问封闭类的成员”一节中所写的内容,这应该是一个更好的示例,网址为http://docs.oracle.com/javase/tutorial/java/javaOO/localclasses.html。 那么这个限制解决了什

  • file1.go里 room.go里 是可以的 但是main.go里 就保存后直接给我删除了 "./file1" 在vscode里 就保存后直接给我删除了 "./file1" 在vscode里 我想在main.go里可以访问 file1.go的全局变量

  • 问题内容: 我刚刚完成了在PHP中创建整个登录和注册systsem的操作,但是我的问题是我还没有使用任何会话。我是PHP的新手,以前从未使用过会话。我想做的是,在用户注册并填写登录表单后,他们仍将停留在同一页面上。因此,其中一部分将是会话已登录,另一部分将是其他(用户未登录,请显示登录表单)。谁能告诉我如何开始? 问题答案: 希望这可以帮助 :) 开始会话,您需要在页面顶部或在调用会话代码之前说出

  • 问题内容: 为什么将AJAX称为异步?它如何完成与服务器的异步通信? 问题答案: 它是异步的,因为它不会锁定浏览器。如果您触发Ajax请求,则用户在等待响应时仍可以工作。当服务器返回响应时,将运行一个回调来处理它。 您可以根据需要进行同步,如果需要,可以在请求未完成时将浏览器锁定(因此,大多数情况下这是不合适的)