在ajax调用期间创建会话(php-xajax)

2024-01-24

除非完全必要,否则我需要避免在应用程序中创建会话。

我注意到,如果会话未启动,xajax 调用将无法正常工作:(。我的第一个方法是在 xajax 函数的开头创建会话(如果不存在),但是,它不起作用用户第一次调用该调用(自会话创建以来第二次调用)。

有什么方法可以处理/解决这种情况吗?

编辑:示例代码:

function example ($parameters) {
    if (!isset($_COOKIE["PHPSESSID"])) {
        session_start(); // we create the session if it didn't exist previously 
    }
    $response = new XajaxResponse();
    .....
    return $response;
}

我的想法是在用户进行 ajax 调用时创建会话。在这种情况下,我第一次调用“示例”函数时它不起作用。第二次一切顺利,我想是因为会话已创建。

编辑:您好,我注意到 chrome 和 explorer 下的一个问题:(。未收到第一个 ajax 调用(我没有得到答复)。这意味着用户需要单击两次才能收到正确的答案(弹出窗口例子)

Thanks!


问题似乎在于您是not呼叫session_start() if $_COOKIE['PHPSESSID'] is设置,因此会话不会针对当前 ajax 请求进行初始化。你must call session_start()在每个使用会话的脚本上——它不仅仅用于会话初始化。

function example ($parameters) {
    // If this function uses the session, you MUST call session_start()
    // Don't do it conditionally.
    session_start(); 

    $response = new XajaxResponse();
    .....
    return $response;
}

如果所有 ajax 处理函数都使用会话,那么您不妨调用session_start()在包含它们的文件的顶部。如果您不希望在 ajax 调用之前加载会话,则将它们隔离到自己的 PHP 脚本中,同时不调用session_start()在他们最初加载的主脚本上。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在ajax调用期间创建会话(php-xajax) 的相关文章

  • 如何使用CSS将背景图像放入选择选项标签中

    我有一个从 json 响应接收的国家 地区下拉列表 并且想要在国家 地区名称旁边添加相应的国家 地区国旗图标 也从 json 响应获取图像 我已经尝试了不同的 jQuery 和 bootstrap 插件 但他们所做的是破坏我以前的选择框样式
  • 如何在 Python 中包含 PHP 脚本?

    我有一个 PHP 脚本 news generator php 当我包含它时 它会抓取一堆新闻项并打印它们 现在 我在我的网站 CGI 中使用 Python 当我使用 PHP 时 我在 新闻 页面上使用了这样的内容 为了简单起见 我删掉了这个
  • facebook php - 如何获取专辑封面照片

    我需要使用 PHP SDK Facebook 获取专辑封面照片 我尝试 https graph facebook com ALBUM ID picture type album 但我得到默认图像 例如 获取用户 https graph fa
  • NHibernate、数据绑定到 DataGridView、延迟加载和会话管理 - 需要建议

    我的主应用程序窗体 WinForms 有一个 DataGridView 它使用 DataBinding 和 Fluent NHibernate 显示 SQLite 数据库中的数据 该表单在应用程序运行的整个过程中都是打开的 出于性能原因 我
  • .htaccess 异常导致主目录出现问题

    这是我的目录结构 localhost or livehost app bootstrap public vendor code demo 这是我的 htaccess
  • zip 文件的校验和

    我目前正在开发一个工具 它上传一组文件 然后使用 md5 校验和将文件与上一批上传的文件进行比较 并告诉您哪些文件已更改 对于常规文件 这工作正常 但某些上传的文件是 zip 存档 即使其中的文件相同 它们几乎总是会发生变化 有没有一种方法
  • 第三个下拉菜单不从数据库填充

    我有以下 Index php
  • 限制自己超载外部 API 的速率

    我发现了很多信息和脚本示例 展示了如何对 API 用户进行速率限制 但我无法找到任何示例来说明在施加这些限制时如何对您自己的 API 请求进行速率限制 我总是用诸如以下的代码来限制我的脚本sleep or usleep命令 但感觉这是一种低
  • Laravel 5 中的自定义验证器

    我正在将 Laravel 应用程序从 4 升级到 5 但是 我有一个自定义验证器 但无法运行 在L4中 我做了一个验证器 php文件并将其包含在全局 php using require app path validators php 我尝试
  • 使用php将数据存储到文本文件中?

    我正在尝试将数据存储在文本文件中 例如使用 php 将数组存储到文本文件中 而不是存储到 mysql 数据库中 例如 这里是要存储在文本文件中的数据 name gt john age gt 25 location gt australia
  • fgetcsv 在特定行打开?

    有没有办法使用 fgetcsv 在特定行上打开 我有一个非常大的 csv 想通过 ajax 一次运行大约 100 行 我可以轻松停止 while 循环 但如何在特定行上打开 或者这是不可能的 从第 100 行开始读取没有简单的方法 但您可以
  • postgreSql 中特定时间后表更新

    我已经在 postgres 中创建了表 现在我想在特定时间 例如 1 小时 后更新一行 我看到很多问题 例如 https dba stackexchange com questions 56424 column auto updated a
  • 使用 PHP 的 MySQL 连接字符串

    我正在尝试通过本地计算机连接到托管在我的服务器上的数据库 我的服务器有cPanel 11 它是一个典型的共享服务器 由CentOS提供支持 安装了PHP和MySQL 准确地说 我在同一台服务器上持有经销商帐户 我想在不同帐户或域之间访问数据
  • Joomla 页面中的自定义 php 代码

    我正在尝试将 Joomla 1 5 9 页面中的表源从页面中的硬编码 html 更改为从 SQL 数据库获取信息 执行此操作的正确方法是什么 创建一个新的模型或组件并以某种方式在页面中使用它 我找到了这些 http docs joomla
  • 如何在 OS X 上使用 OpenSSL 1.0.1 编译 PHP 5.5.19

    我已经安装了 OpenSSL 1 0 1j usr local ssl现在我尝试使用此版本的 OpenSSL 编译 PHP 5 5 19 这是我的配置过程 export CFLAGS arch x86 64 export CXXFLAGS
  • 保存多对多关系,同步/附加不存在?

    我有以下两个多对多关系的模型 use Illuminate Database Eloquent Model class Permission extends Model The database table used by the mode
  • 使用 Vaadin Flow Web 应用程序处理全局所有布局和“路由”URL 的登录

    Vaadin 8 在 Vaadin 8 中 在我的UI子类我通过检查用户的会话是否带有一个属性来处理登录 该属性表明他们是否已成功登录 如果没有的话 我的UI子类显示登录布局 而不是带有导航选项的其他内容 例如菜单栏和在该 UI 内切换布局
  • 如何从父类中获取子类名

    我试图在不需要子类上的函数的情况下完成此任务 这可能吗 我有一种感觉 但我真的很想确定
  • Laravel $request->file() 返回 null

    尝试在后端使用 Laravel 上传文件时遇到问题 Issue Laravel request gt file 方法返回 null Setup 我使用以下方法构建了一个 AJAX 请求超级代理人 https github com visio
  • 使用 php-ews(Exchange Web 服务)在特定日期后获取电子邮件

    在我的 PHP 脚本中 我需要弄清楚如何检索指定消息 ID 之后或特定日期之后的所有电子邮件 两者都可以 我只需要检索自上次抓取收件箱以来的新电子邮件 这个收件箱每天收到数千封电子邮件 而且我在 30 天内无法删除任何电子邮件 对于初始导入

随机推荐

  • SharePoint Designer 工作流程 - 提示和资源?

    我正在努力修改一些现有的 SPD WF 并努力解决一些概念 包括为什么 2 个看起来相似的 WF 不会产生相同的输出 你们中是否有人使用过 SharePoint Designer 工作流并知道任何好的资源 比 MSDN 介绍更详细 或有关此
  • 如何隐藏 UIImagepickercontroller 中的状态栏?

    我是 iOS 开发新手 我试图隐藏状态栏UIImagePickerController 每当我单击 拍照 时 就会出现状态栏 它并不隐藏 我希望状态栏仅隐藏在UIImagePickerController 这是我的代码 IBAction t
  • 在机器对机器场景中使用 MSAL 作为 CSP

    我正在尝试使用官方 nuget 库来使用 GraphAPI https github com microsoftgraph msgraph sdk dotnet https github com microsoftgraph msgraph
  • 播放框架WS url空间

    我在 play 框架 2 3 3 中调用 WS url 时遇到问题 其中 url 包含空格 所有其他字符均自动进行 url 编码 但空格除外 当我尝试将所有空格更改为 20 时 WS 由于 字符而将其转换为 2520 对于空格 我得到了 j
  • 为什么锁定 std::mutex 两次“未定义行为”?

    按照这个article http www devx com SpecialReports Article 38883 1954 如果您尝试从同一线程两次锁定非递归互斥锁 而中间没有解锁 则会出现未定义的行为 我非常天真的想法告诉我为什么他们
  • Neo4j 2.0 双类型转储

    在 Neo4j 2 0 社区 上 当我转储包含一些具有 Double 类型属性的节点的数据库时 我获得一个具有科学记数法值的文件 ex 1 43524185E8 导入此文件时 neo4j shell 失败并出现以下错误 Invalid in
  • 在 Eclipse (App Engine) 项目中包含 JAR 文件

    我今天和昨天几个小时都在寻找这个问题的解决方案 所以我决定在这里解决它 尽管这似乎是一个愚蠢的问题 情况 我在 Eclipse Java EE 中设置了一个 Google AppEngine 项目 它已经存在了好几个星期 一切都运行良好 我
  • Linux 上的共享库有哪些好的做法?

    我最近阅读了很多有关 Linux 上共享库的内容 以下是我学到的内容 共享库应该嵌入一个soname包括其主要版本号 就像是 libfoo so 1 其真实文件名还应包含次要版本号 就像是 libfoo so 1 0 当库文件被复制到时 比
  • 如何动态重新加载 Oracle APEX 5.0 树

    当触发事件 例如单击按钮 时 我需要使用新参数重新加载完整树 设置项目值并且需要在 Tree SQL 中使用新项目值 当我尝试使用 刷新 操作刷新树区域时 树节点不刷新 树小部件支持一整套高级操作 问题是 apex 团队从未向开发人员公开过
  • 时间轴值在某些 ggplot 图中不正确,但在其他图中则不然

    Forum 这是我的数据的样子 gt data cvg Source local data frame 938 x 5 Date Day Time Parameter Value time fctr time chr dbl 1 2016
  • 什么 Java 方法接受 int 并返回 +1 或 -1?

    什么 Java 方法需要一个int并返回 1或 1 其判断标准是是否int是正的还是负的 我浏览了文档 但我不擅长阅读它 所以找不到它 我知道我在某处见过它 Integer signum int i http java sun com ja
  • 将参数传递给BAT文件并双击运行

    我想将两个文件路径 对于 Windows 作为命令行参数传递给脚本 在 Windows 中 如果我们右键单击一个文件 我们可以看到 属性 选项 并且在 常规 选项卡下显示像 test bat 这样的文件名 我们可以从那里传递参数吗 实际上我
  • 了解Elasticsearch的write_consistency和quorum规则

    根据elasticsearch文档 write consistency级别仲裁的规则是 法定人数 gt 副本 2 1 使用 ES 0 19 10 在具有 16 个分片 3 个副本的设置中 我们将得到 16 个主分片 48 个复制品 运行 2
  • 带队列的长时间运行的 REST API

    我们正在实现一个 REST API 它将启动多个长时间运行的后端任务 我一直在阅读 RESTful Web Services Cookbook 建议返回 HTTP 202 Accepted 并带有指向正在处理的任务的 Content Loc
  • 使用 RxSwift、驱动程序并绑定到 [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我第一次问问题 我正在学习RxSwift 如何使用bind to和driver driver和bind to有什么区别 现在还有谁在学习Rx
  • 如何按色调/图例组用百分比注释分组条形图

    我想根据色调在条形顶部添加百分比 这意味着所有红色和蓝色条分别等于 100 我可以使蓝色条等于 100 但红色条不能 哪些部分需要修改 导入和样本数据 import pandas as pd import numpy as np impor
  • 如何使用 $resource 操作设置自定义标头?

    使用 http 我们可以这样做 var config headers something anything http get url to json config success function do something 我想对 reso
  • VS 2017 版本 15.3.x 中的标签助手智能感知不起作用

    在 Visual Studio 2017 的过去版本中 如果开发人员想要拥有标签助手智能感知 他们需要安装 Razor 语言服务 如此答案中所示 Visual Studio 2017 中的 ASP NET Core 标记帮助程序 Intel
  • 手动触发钻取事件,highcharts

    我正在研究 highchart 的向下钻取 向上图表 我能够通过以下方式从 highchart 外部单击点来触发向下钻取事件 chart series 0 data 0 firePointEvent click event 但我找不到任何会
  • 在ajax调用期间创建会话(php-xajax)

    除非完全必要 否则我需要避免在应用程序中创建会话 我注意到 如果会话未启动 xajax 调用将无法正常工作 我的第一个方法是在 xajax 函数的开头创建会话 如果不存在 但是 它不起作用用户第一次调用该调用 自会话创建以来第二次调用 有什