等待,直到调用回调地址
Wait until a callback address is called
我正在用PHP和JS编程一个教育网站,我与另一个为我纠正一些编程练习的网页进行交互。
我不知道这个更正什么时候会结束,但是这个更正网页调用一个给定的地址,当更正可用。是否有可能等待PHP或JS的结果,然后做一些事情(不只是显示结果给用户),即使用户关闭选项卡?
提前感谢。
逐级说明:
- 一个学生正在做一个编程练习。显示了练习的说明,以及完成练习的其他细节。
当他认为他已经找到了解决方案,他上传了他的代码。然后,他可以等待(或不等待)修正完成。
- 我的网页上载然后代码文件(与其他文件以及地址回调完成时)到更正网页。
- 我一直等待,直到回调完成。
当批改完成后,我会做一些事情,比如给学生打分,如果他/她留在同一页,他/她可以看到批改的细节。
更正是由另一个网页完成的,我不知道它什么时候会完成,但是当它完成时,它调用给定的地址(例如: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 -然后当用户返回时,您可以执行任何未完成的检查并相应地更新。
注:如果问题中有进一步的信息,我很乐意提供进一步的细节
标题>您可以执行所有必要的操作在给定的地址后面的脚本上,远程网站调用的练习已经纠正后。
如果用户关闭了选项卡,那么在客户端绝对不可能显示/做任何事情。
- AngularJS:我可以跳过函数参数回调吗
- 要求未定义JS回调参数
- MeteorJS:在带有回调的vzaar api上正确使用wrapAsync
- 自引用回调
- 测试Angular Service解决错误回调中的promise
- 如何将一个JavaScript函数回调为多个函数
- JavaScript回调函数
- 用于回调的javascript参数
- 将json回调数据转换为日期
- 承诺在非节点式回调上使用Bluebird
- 如何在回调函数中执行流
- 回调函数中传递参数的困难(Google Map API Markers)
- Soundcloud Javascript SDK 3.0-回调无法读取属性'connectCallback
- 如何使用jqueryAJAX从页面中回调多个变量
- jquery Onclick函数带有导致双击的回调排序函数
- Javascript点击事件回调不起作用
- jQuery地址在回调中不起作用
- 从反向地理编码回调中获取地址
- 等待,直到调用回调地址
- 多个地址的Google反向地理编码:在循环中实现回调函数的问题