从javascript检索一个值并发送到表单页面,然后发送到数据库

时间:2018-08-06 09:13:53

标签: javascript php json xmlhttprequest

您好,我想将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,但我希望它等待用户将表单与所有其他信息一起提交后再发送。否则,代码将首先发送计时器,然后在用户提交第二条记录时为姓氏等创建条目。

如果有人有任何解决方案,请 非常感谢。

0 个答案:

没有答案