繁体   English   中英

将值从一个文件传递到另一个javascript

[英]passing a value from one file to another javascript

我有一个名为functions.js的文件,其中有函子总和,该总和用于计算学生在考试中获得的分数。 我希望将这笔款项打印到admin.php文件中的表中,以便管理员查看每个学生的所有分数。

那么如何将sum变量传递给另一个文件? 我尝试使用onlick动作调用该函数,但这没有用

Javascript是客户端运行的,PHP是服务器端运行的。 因此,您必须在javascript中编写代码,以更改PHP脚本返回的HTML页面,从而显示结果。

将所有文件加载到客户端后,就没有单独的js文件的概念。 客户端(浏览器+ javascript)和服务器(php)是2个独立的实体。 当您的数据在一个地方时,另一个地方就不存在了。 研究ajax作为在两个位置之间进行通信的一种方法,或者使用表单并将页面提交给服务器。

服务器和浏览器如何通信的良好概述: 浏览器和Web服务器之间的通信是如何进行的?

表单提交的基础知识: http : //www.htmlgoodies.com/tutorials/forms/article.php/3479121/So-You-Want-A-Form-Huh.htm

Ajax基础: http: //webdesign.about.com/od/ajax/a/aa101705.htm使用PHP的Ajax: http//www.switchonthecode.com/tutorials/simple-ajax-php-and-javascript

我想你可能想要这样的东西

document.getElementById('saveScoreButton').onclick = {
  var r = new XMLHttpRequest,
    message = document.getElementById('message'),
    score = sum();
  message.innerHTML = 'Saving your score; please wait a second';
  r.open('get', 'savescore.php?score=' + score, true);
  r.send(null);
  r.onreadystatechange = function () {
    if (r.readyState == 4 && r.status == 200) {
      message.innerHTML = 'Saved your score';
    }
  }
}

这传递比分的PHP程序savescore.php当你点击ID为按钮saveScoreButton 然后,PHP程序必须使用$_GET["score"]来检索它。

请注意,如果用户了解javascript并查看正在发生的情况,这将很容易欺骗用户。 他们只需在浏览器的地址栏中输入“ savescore.php?score = 100”即可。 如果您想要一个安全的解决方案,则javascript应该只将用户的答案传递给PHP程序,然后该程序会标记测试并汇总结果。

也可以使用POST方法而不是GET来传递值:

  ...
  r.open('post', 'savescore.php?score=' + score, true);
  r.send('score=' + score);
  ...

然后使用$_POST["score"]在PHP程序中进行选择。

如评论中所述,如果您想比较/制表分数,那么savescore.php将需要将值存储在数据库或文件中,以便admin.php可以检索它们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM