您好,我想将javascript值发送到我的bdd我已经看到,最好的方法是将数据编码为Json格式,然后以XMLHttpRequest的ajax方式发布,然后使用php
已更新:
Javascript:game.js
let sendRequest = ()=>{
const xhr = new XMLHttpRequest()
let timedisplay = document.querySelector('#basicUsage')
const timeData = {
"time" : timedisplay.innerText
}
const url = "src/handle_form.php"
xhr.open("POST",url )
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
xhr.send(encodeURI(`timeData=${JSON.stringify(timeData)}`))
xhr.onreadystatechange = () => {
if (xhr.readyState === 4 && xhr.status === 200) {
console.log(xhr.responseText)
}
}
console.log(timeData)
}
PHP:handle_form.php
<?php
$timeData = json_decode($_POST['timeData']);
$time = $timeData->time;
echo '<pre>';
var_dump($timeData);
echo '</pre>';
$timeQuery = $pdo->prepare('
INSERT INTO users (time)
VALUES (:time)');
$timeQuery->bindValue('time', $time);
$timeQuery->execute();
知道我要恢复我的计时器值,但是当我重定向到handle_form.php时,该值为NULL。 即使我们有刷新或重定向,有没有办法保留数据?
现在,该值已发送到DB,但我希望它等待用户将表单与所有其他信息一起提交后再发送。否则,代码将首先发送计时器,然后在用户提交第二条记录时为姓氏等创建条目。
如果有人有任何解决方案,请 非常感谢。