【问题标题】:Sending values to a server to be stored in a database and recording space presses将值发送到服务器以存储在数据库中并记录空间按下
【发布时间】:2015-11-18 22:32:54
【问题描述】:

我有两个问题。

首先:这真的可行吗?每次有人按下并释放空格键时,我都会尝试记录。

第二:如果可行,接下来我需要做什么才能将存储在 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;
}

【问题讨论】:

  • 创建一个数据库并使用ajax调用一个在数据库中插入/更新数据的php脚本
  • @AkashKumar 我能否举个例子,就像我在这里使用的代码一样,使用调用 php 脚本的 ajax?
  • 有什么遗漏吗?为什么不选择最佳答案?

标签: javascript mysql database events key


【解决方案1】:

这是一个如何将其发送到示例服务器的示例。

JS 小提琴: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')
}

【讨论】:

    【解决方案2】:

    您可以使用简单的 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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多