Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 等待调用回调地址_Javascript_Php - Fatal编程技术网

Javascript 等待调用回调地址

Javascript 等待调用回调地址,javascript,php,Javascript,Php,我正在用PHP和JS编写一个教育网站,我与另一个网页互动,为我纠正了一些编程练习 我不知道该更正何时完成,但该更正网页会在更正可用时调用给定的地址。 是否可以使用PHP或JS等待结果,然后做一些事情(不仅仅是向用户显示结果),即使用户关闭了选项卡 提前谢谢 逐步解释: 一个学生正在做编程练习。将显示该练习的说明以及完成该练习的其他细节 当他认为自己已经找到了解决方案时,他上传了自己的代码。然后,他可以等待(或不等待)修正完成 “我的网页”然后将代码文件(以及其他文件以及完成后要回调的地址)上载到

我正在用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
      • 如果您仅限于
        /ex1sub1usr1
        格式,则只需使用regex解析URL即可
    • 当用户刷新(或返回站点)时,应该从PHP后端适当地提取数据
    为了获得额外的积分,您可以让您的提交屏幕(或整个网站)间歇性地轮询服务器上的另一个PHP脚本URL(使用),以获得“更新”标志,并实时更新页面

    考虑 您唯一关心的是确保表单数据(即其代码)完整提交。考虑使用提交表单数据并暂时启用直到上传完成。


    原始“答案” 由于这里没有太多信息可供参考,因此我必须做出一些假设:

    • 您可能无法可靠地生成一个进程来监视关联的结果地址
    • 您不需要立即通知用户(推送通知),但他们最终需要看到结果,例如,当他们返回到您的页面时
    • 结果会持续一段时间
    • 正如您所提到的,即使用户关闭选项卡,这也必须起作用
    在这种情况下,我只会在用户返回您的站点时检查结果页面

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


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

    您可以在给定地址后面的脚本上执行所有必要的操作,远程网站会在更正错误后调用该脚本


    如果用户已关闭选项卡,则绝对不可能在客户端显示/执行任何操作。

    您的意思是在更正完成后需要推送通知吗?比如:不。没有必要立即通知用户。他可以关闭所有内容,但当更正完成时,该学生在该练习中的分数必须更新。我假设该分数存储在DB中?如果要在用户的成绩发生变化时通知用户,则需要服务器发送事件。如果用户不在线,只需将分数保留在db中,并将名为
    notified
    的标志设置为false。所以你知道当他再次登录时,他上次没有看到他的成绩。我认为另一种方法可能是正确的决定……我编辑了这个主题,试图做出更清晰的解释。提前谢谢。但我希望给定的回调地址是唯一的,因为在同一时间可以有很多更正。如何在每个给定的地址后面分配一个包含studentid、exercise..等参数的脚本?您可以使用
    http://www.example.com/callback.php?ex=exercise1&u=user1
    和所需的任意多个参数。文件
    callback.php
    读取参数(例如
    $user=$\u GET[“u”];
    ),并可以使用它们进行进一步处理。