我已登录 Banana.com
。 Banana 在 /app/ajax_loggedin
上有一个 api 链接。
我的网站是 Monkey。 Monkey 对 banana 的 /app/ajax_loggedin
运行一个简单的 GET json,返回 1 或 0 的登录值。
为什么当它通过 ajax 时总是返回 0,即使我真的在 Banana 上登录并且直接访问链接时也返回 1。 Banana 的开发人员如何修复它?
如果它是服务器端调用,我会理解它,但我不明白为什么它不告诉我我是否登录,如果 Banana 发出请求。运行 session_id()
检查,它会在每次通过 ajax 调用时生成一个新的,当直接访问时它工作正常并保持不变。
是否有任何修复或其他方法可以做到这一点?
最佳答案
每个入口点或对服务器 (API) 的调用都需要以 session_start()
开头。如果它没有读入 session 标识符,它就好像没有 session 标识符一样,然后返回一个新的 session 标识符。当您的浏览器收到响应时,它将用新的标识符覆盖 session 标识符。确保在调用服务器的所有位置的顶部都有 session_start()
,以便它知道要使用哪个 session 。
关于php - 为什么在php中通过ajax请求时session id会改变?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31163030/