我有一个脚本,它通过一些ajax调用来处理数据,具体取决于用户的单击和更改,调用再次完成(工作正常)。
$.ajax({
type: "POST",
url: "process_data.php",
data: { action: "first_action",data:data},
dataType: 'json',
success:function(result){
//process
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
}
});
为了节省时间,我想仅在第一次 ajax 调用期间在我的process_data.php
文件中执行一些查询,并将它们保存到变量中,这样我就不必在每次调用中都执行相同的查询。如何捕捉阿贾克斯的第一个呼叫?
我相信
你可以设置一个$_SESSION
标志来检查客户端的请求是否执行了这个调用。
$_SESSION["exed"] = false;
if (!$_SESSION["exed"]) {
// Execute The Stuff
// Reset the session
$_SESSION["exed"] = true;
}
或者即使上述看起来很愚蠢,一开始也不会设置会话。
if (!isset($_SESSION["exed"])) {
// Execute The Stuff
// Reset the session
$_SESSION["exed"] = true;
}
或者,如果您只想对所有客户端执行一次,则可以使用服务器上的文件并对其进行管理。让我知道这是否有效。
此外,必须注意确保会话已启动。请参考 PHP 手册页面 session_start
。