[英]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.