阿贾克斯第一次通话


Ajax first call

我有一个脚本,它通过一些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