我遇到了一个无法找到解决方案的问题:
在我的Web应用程序中使用鼠标按键(onclick=""
)后,我通过AJAX请求调用PHP函数。这没什么不寻常的。但是,PHP函数需要访问一些会话变量。当我通过HTML5 onclick
和AJAX请求调用PHP函数时,网页已经呈现,这可能意味着标题已经被发送。
可能因此,我收到以下错误:
session_start(): Cannot send session cache limiter - headers already sent
这里的关键信息是我通过AJAX请求调用的PHP函数在调用session_start()
之前不会向浏览器输出任何内容。
请问有什么解决办法吗?最初,我认为,AJAX函数调用独立于呈现网页,我基本上可以通过AJAX随时调用session_start()
。但是现在,在我看来,如果用AJAX请求调用我不能从我的PHP函数中调用session_start()
,因为所有的AJAX调用都是在渲染网页之后执行的,因此在发送标题之后执行了吗?
如果您对解决方法有任何想法,那会有所帮助。出于安全原因,我不想将所需的参数作为POST参数传递。由于速度原因,我不想从我的MySQL数据库访问它们。我真的想知道,如果有办法通过AJAX调用访问会话变量。
我想知道的是,是否可以用本地PHP函数调用替换AJAX调用。然后,我可以利用PHP global
变量。
谢谢。