最好的方法是什么?
因为,正如我发现的那样(并且它完全有道理,只有在尝试过之后:p)你不能在javascripts条件下设置PHP变量。 (duurrhh)
我能想到的唯一解决方案是对处理会话变量的小型PHP文件进行AJAX调用
elm.click(function() {
$.post("session.php", { "hints":"off" });
turnOffHints();
}
然后让session.php
处理设置新变量。
但是,仅仅为了在PHP中设置一个变量来完成一个完整的http请求就感觉很浪费......
答案 0 :(得分:7)
Javascript (jQuery)在客户端执行。
PHP及其会话机制,在服务器端执行。
因此,要执行与PHP会话相关的任何事情,您必须转到服务器,执行完整的HTTP请求 - 您不能留在客户端。
执行Ajax请求是一种进入服务器的方式 - 工作正常;-)
你正在做的是(和必要的,实际的),如果你想影响一些会话数据:你没有太多的选择,即使它感觉像某种废物。
答案 1 :(得分:3)
唯一的另一种选择是提出“常规请求”,但这会更加“浪费”。
或许您可以使用JavaScript设置cookie并在下一个请求进入时更改会话(您必须在每个请求时检查此cookie)...