javascript - 在 php 中获取 javascript 变量值时出错
问题描述
有一个数字变量(下面的变量名称分数)是一个 javascript 变量。我有一个 php 代码,其中使用了 javascript 块。现在我要做的是:我想将 score 变量的实际值放入我的 php 代码中,然后通过 php 代码将其保存到 DB 中。我已经尝试过下面的代码来做到这一点。但是我没有看到任何值进入 php 中声明的 $score 变量,我只是在网页中看到了一些错误。在代码下方有一个解释错误消息的屏幕截图。
function check() {
var score = 0;
var wrong_answers="";
for(count = 0; count < 2; count++){
var e = document.getElementById(count + 1);
var answer_selected = e.options[e.selectedIndex].value;
if(e.selectedIndex === parseInt(allAnswer[count])){
score = score + 1;
}
else{
wrong_answers = wrong_answers +" "+ (count+1).toString();
}
}
<?php
$score = "<script>document.write(score)</script>";
$query4 = "UPDATE USER_RESULT SET SCORE = '$score' WHERE START_TIME =
'$startTime'";
$query_run4 = mysqli_query($conn,$query4);
?>
}
解决方案
我建议你使用 AJAX 来运行它。(需要 JQuery)
脚本.js:
function RunPHP() {
$.ajax({
async: false,
type: 'GET',
url: 'PHP.php'
});
}
function check() {
var score = 0;
var wrong_answers="";
for(count = 0; count < 2; count++){
var e = document.getElementById(count + 1);
var answer_selected = e.options[e.selectedIndex].value;
if(e.selectedIndex === parseInt(allAnswer[count])){
score = score + 1;
}
else{
wrong_answers = wrong_answers +" "+ (count+1).toString();
}
}
}
PHP.php:
<?php
$score = "<script>document.write(score)</script>";
$query4 = "UPDATE USER_RESULT SET SCORE = '$score' WHERE START_TIME =
'$startTime'";
$query_run4 = mysqli_query($conn,$query4);
echo $query_run4;
?>
推荐阅读
- java - 避免多个 if/else 条件
- asp.net-core - Asp.Net-Core 2.1:使用自定义 IInputFormater 的 ModelState 错误
- php - 从输入 [] 获取数据时,从 PDO 中的数组重复插入时循环混乱
- c++ - SDL_Image 库使程序崩溃或使其行为不端
- android - 水平滚动视图自动滚动不起作用
- smtpclient - 错误消息:“SMTP 服务器需要安全连接或客户端未通过身份验证。”
- python - Pandas increase efficiency in merging dataframes
- elasticsearch - 使用术语聚合返回多个字段
- sql - SQL:复制事务正在等待下一个日志备份或镜像伙伴赶上
- python-3.x - 获取熊猫数据框中的最大值