等待,直到调用回调地址

Wait until a callback address is called

本文关键字:回调 地址 调用 等待      更新时间:2023-09-26

我正在用PHP和JS编程一个教育网站,我与另一个为我纠正一些编程练习的网页进行交互。
我不知道这个更正什么时候会结束,但是这个更正网页调用一个给定的地址,当更正可用。是否有可能等待PHP或JS的结果,然后做一些事情(不只是显示结果给用户),即使用户关闭选项卡?

提前感谢。

逐级说明:

    一个学生正在做一个编程练习。显示了练习的说明,以及完成练习的其他细节。
  1. 当他认为他已经找到了解决方案,他上传了他的代码。然后,他可以等待(或不等待)修正完成。

    1. 我的网页上载然后代码文件(与其他文件以及地址回调完成时)到更正网页。
    2. 我一直等待,直到回调完成。
  2. 当批改完成后,我会做一些事情,比如给学生打分,如果他/她留在同一页,他/她可以看到批改的细节。

更正是由另一个网页完成的,我不知道它什么时候会完成,但是当它完成时,它调用给定的地址(例如:www.example.com/ex1sub1usr1)。

疑问在步骤2和步骤3之间。它是有可能做所有这些过程与PHP/JS?如果不是,有什么替代方案?

更新答案

  • 在服务器上创建一个PHP脚本,当使用特殊配方的URL访问时更新您的成绩数据库,例如。http://yourserver.com/update.php?user=2429&sub=1&ex=1
    • 在提交更正时指定此URL作为目标URL
    • 如果你被限制为/ex1sub1usr1格式,那么就使用正则表达式来解析URL
  • 当用户刷新(或返回到您的站点)时,应该从PHP后端适当地提取数据

作为奖励,您可以让您的提交屏幕(或整个网站)间歇性地轮询服务器上的另一个PHP脚本URL(使用XHR)以获得"已更新"标志,并实时更新页面。

考虑

您唯一主要关心的将是确保表单数据(即。他们的代码)被完整地提交。考虑使用XHR提交表单数据,并临时启用窗口关闭警告,直到上传完成。


<标题>原始"答案"

由于这里没有太多的信息,我将不得不做一些假设:

  • 你可能无法可靠地生成一个进程来观察相关的结果地址
  • 你不需要立即通知用户(推送通知),但他们最终需要看到他们的结果。当他们返回到你的页面
  • 结果停留一段时间
  • 正如你提到的
  • ,即使用户关闭
  • 选项卡,这也必须工作。

在这种情况下,我只会在用户返回您的站点时检查结果页面。

只需将结果地址存储在会话变量中-通过PHP或cookie -然后当用户返回时,您可以执行任何未完成的检查并相应地更新。

注:如果问题中有进一步的信息,我很乐意提供进一步的细节

您可以执行所有必要的操作在给定的地址后面的脚本上,远程网站调用的练习已经纠正后。

如果用户关闭了选项卡,那么在客户端绝对不可能显示/做任何事情。