如何检查功能是否重新加载页面

时间:2019-01-15 01:16:29

标签: php jquery json ajax

我有一些运行ajax请求的功能。 在他们单击该函数之前,我第一次插入数据库。

INSERT INTO data_name (user_id, hash, status) VALUES ("1", "1a2b3c3d2e1f4g5h6i6j5k4", "closed");

然后我要间隔检查JSON响应,该响应将基于数据库“哈希”更新数据库。如果响应成功,则更新数据库WHERE hash = hash。

我的问题是当我尝试重新加载页面时,该函数也终止了。我如何继续运行检查功能,以查看即使重新加载或刷新页面,JSON响应是否也已成功更改。

有什么办法吗?

1 个答案:

答案 0 :(得分:0)

您可以在后台处理您的问题。您可以为您的PHP脚本运行crontab作业。将哈希发送到服务器后,计划的脚本将进行检查。

这是设置crontab作业的一种方法 https://www.cyberciti.biz/faq/how-do-i-add-jobs-to-cron-under-linux-or-unix-oses/

这应该是这样的:

add_hush.php

...
$connection->query("INSERT INTO hashes (hash) VALUES ('1a2b3c3d2e1f4g5h6i')");
...

check_hash.php

...

$result = $connection->query("SELECT * FROM hashes");
while($row = $result->fetch_assoc()) 
{
    $connection->query('INSERT INTO data_name (user_id, hash, status) VALUES ("1", "' . $row["hash"]  . '", "closed")';

    $connection->query("DELETE FROM hushes WHERE hush=" . $row["hush"]);
}
...

add_hush.php将从您的ajax请求中调用。然后,check_hash.php将是cronjob的调用。

这是从cronjob调用PHP脚本的方式:

* * * * * /your/project/folder/check_hash.php