将值发送到服务器以存储在数据库中并记录 space 按下
Sending values to a server to be stored in a database and recording space presses
我有两个问题。
首先:这真的有用吗?我试图记录每次有人按下和释放 space 栏。
第二:如果可行,接下来我需要做什么才能将存储在 RecordKey 中的所有内容发送到服务器以存储在数据库中? (我已经有 mysql 和 php "up" 和 "running" )。
谢谢
window.addEventListener("keydown", keyPressed, false);
window.addEventListener("keyup", keyReleased, false);
var RecordKey=[];
function keyPressed(space) {
if (space.charCode == "32") {
RecordKey[space.keyCode] = true;
}
}
function keyReleased(space) {
RecordKey[space.keyCode] = false;
}
这是一个如何将它发送到示例服务器的示例。
JS Fiddle: http://jsfiddle.net/xv3d9rfj/
这是发送数据的函数:
function sendToExampleServer(data_to_send){
var x=new XMLHttpRequest
x.open('GET','http://httpbin.org/get?' + data_to_send)
x.send()
x.onreadystatechange=function(){
if(x.readyState==4)
alert(x.responseText)
}
}
函数接收要发送的数据,并将其发送到服务器。
您的代码存在一些问题,但这是完整的代码:
function sendToExampleServer(data_to_send){
var x=new XMLHttpRequest
x.open('GET','http://httpbin.org/get?' + data_to_send)
x.send()
x.onreadystatechange=function(){
if(x.readyState==4)
alert(x.responseText)
}
}
sendToExampleServer('up')
window.addEventListener("keydown", keyPressed, false);
window.addEventListener("keyup", keyReleased, false);
var RecordKey=[];
function keyPressed(space) {
if (space.charCode == "32") {
RecordKey[space.keyCode] = true;
sendToExampleServer('keyDown')
}
}
function keyReleased(space) {
RecordKey[space.keyCode] = false;
sendToExampleServer('keyUp')
}
您可以使用简单的 ajax 我正在提供 POST
方法的示例,您也可以使用 GET
方法
function keyPressed(space) {
if (space.charCode == "32") {
var ajax = new XMLHttpRequest();
ajax.open("POST", "recordKey.php", true);
ajax.setRequestHeader("content-type","application/x-www-form-urlencoded");
ajax.onreadystatechange = function(){
if(ajax.readyState == 4 && ajax.status == 200){
var response = ajax.responseText;//recordKey.php response from echo function
//console.log(response);
}
else{console.log(response);}
}
};
document.getElementById("status").innerHTML = "...";
ajax.send("key=B");//data you want to send like you do with GET/POST forms
}
}
我假设您可能对此不熟悉,所以我建议您了解 ajax 的工作原理。你可以在这里学习http://www.w3schools.com/ajax/default.asp
之后你可以在这里看到如何使用 php 和 ajax http://www.w3schools.com/php/php_ajax_intro.asp
我有两个问题。
首先:这真的有用吗?我试图记录每次有人按下和释放 space 栏。
第二:如果可行,接下来我需要做什么才能将存储在 RecordKey 中的所有内容发送到服务器以存储在数据库中? (我已经有 mysql 和 php "up" 和 "running" )。
谢谢
window.addEventListener("keydown", keyPressed, false);
window.addEventListener("keyup", keyReleased, false);
var RecordKey=[];
function keyPressed(space) {
if (space.charCode == "32") {
RecordKey[space.keyCode] = true;
}
}
function keyReleased(space) {
RecordKey[space.keyCode] = false;
}
这是一个如何将它发送到示例服务器的示例。
JS Fiddle: http://jsfiddle.net/xv3d9rfj/
这是发送数据的函数:
function sendToExampleServer(data_to_send){
var x=new XMLHttpRequest
x.open('GET','http://httpbin.org/get?' + data_to_send)
x.send()
x.onreadystatechange=function(){
if(x.readyState==4)
alert(x.responseText)
}
}
函数接收要发送的数据,并将其发送到服务器。 您的代码存在一些问题,但这是完整的代码:
function sendToExampleServer(data_to_send){
var x=new XMLHttpRequest
x.open('GET','http://httpbin.org/get?' + data_to_send)
x.send()
x.onreadystatechange=function(){
if(x.readyState==4)
alert(x.responseText)
}
}
sendToExampleServer('up')
window.addEventListener("keydown", keyPressed, false);
window.addEventListener("keyup", keyReleased, false);
var RecordKey=[];
function keyPressed(space) {
if (space.charCode == "32") {
RecordKey[space.keyCode] = true;
sendToExampleServer('keyDown')
}
}
function keyReleased(space) {
RecordKey[space.keyCode] = false;
sendToExampleServer('keyUp')
}
您可以使用简单的 ajax 我正在提供 POST
方法的示例,您也可以使用 GET
方法
function keyPressed(space) {
if (space.charCode == "32") {
var ajax = new XMLHttpRequest();
ajax.open("POST", "recordKey.php", true);
ajax.setRequestHeader("content-type","application/x-www-form-urlencoded");
ajax.onreadystatechange = function(){
if(ajax.readyState == 4 && ajax.status == 200){
var response = ajax.responseText;//recordKey.php response from echo function
//console.log(response);
}
else{console.log(response);}
}
};
document.getElementById("status").innerHTML = "...";
ajax.send("key=B");//data you want to send like you do with GET/POST forms
}
}
我假设您可能对此不熟悉,所以我建议您了解 ajax 的工作原理。你可以在这里学习http://www.w3schools.com/ajax/default.asp
之后你可以在这里看到如何使用 php 和 ajax http://www.w3schools.com/php/php_ajax_intro.asp