Javascript 多个JSON数据日志并放入服务器

Javascript 多个JSON数据日志并放入服务器,javascript,json,Javascript,Json,我有一个javascript函数,它在每一秒生成JSON数据,然后将其放到云服务器上。现在我不想实时发布,而是想把这些数据记录在一个缓冲区中,并说在n个数据日志之后,我将把它们放到云中。例如,我想在10秒内记录50个数据点,然后在服务器上加上时间戳 现在JSON数据通过varfromDatan传递。JSON数据格式为 {"value":"-2.1282838391939194"} 现在代码是: var acc; var watchID = null; function startWa

我有一个javascript函数,它在每一秒生成JSON数据,然后将其放到云服务器上。现在我不想实时发布,而是想把这些数据记录在一个缓冲区中,并说在n个数据日志之后,我将把它们放到云中。例如,我想在10秒内记录50个数据点,然后在服务器上加上时间戳

现在JSON数据通过var
fromDatan
传递。JSON数据格式为

{"value":"-2.1282838391939194"}
现在代码是:

var acc;
    var watchID = null;

function startWatch() {

            //set frequency of accelerometer update.1000 = 1 second

            var options = { frequency: 1000 };
            watchID = navigator.accelerometer.watchAcceleration(onSuccess, onError, options);

        }


    function stopWatch() {
            if (watchID) {
            navigator.accelerometer.clearWatch(watchID);
            watchID = null;
            }
        }


    //DISPLAY ACCELERATION DATA

    function onSuccess(acceleration) {
            acc = acceleration;
            var element = document.getElementById("accelerometer");
            element.innerHTML = 'Acceleration X: ' + acceleration.x         + '<br />' +
                              'Acceleration Y: ' + acceleration.y         + '<br />' +
                              'Acceleration Z: ' + acceleration.z         + '<br />' +
                              'Timestamp: '      + acceleration.timestamp + '<br />';

                datalock();


        }


function postdata () {
        var accx = acc.x;
        alert(accx);




            var fromDatan = JSON.stringify(fromData);
                alert(fromDatan);

                //POST JSON SENSOR DATA

                $.ajax({
                url: "http://abcd.com",
                headers: {
                    "X-API-KEY": "2b9asdedqedqxdqd7956e6f7a",
                    "Content-Type": "application/json"
                },
                type: "PUT",
                data: fromDatan,
                dataType: "JSON",
                success: function(fromData, status, jqXHR) {
                    alert(JSON.stringify(fromData));
                },

                error: function(jqXHR, status) {
                    alert(JSON.stringify(jqXHR));
                }
                });
                return false;

        //var fromData = {};
        }
        var fromData;
        var jsonCounter = 0;

        function datalock(){
            alert("Entering");
            fromData.push({
            value: accx.toString(),
            });

            jsonCounter++;

            // post only after 10 entries
            if (jsonCounter >= 10) {
            postdata ();
            jsonCounter = 0; // reset
            };

            //var fromData; // make it global as it is used in other function.
        }
var-acc;
var-watchID=null;
函数startWatch(){
//设置加速计更新频率。1000=1秒
var选项={频率:1000};
watchID=navigator.Accelerator.watchAcceleration(onSuccess、onError、options);
}
功能秒表(){
if(watchID){
navigator.Accelerator.clearWatch(watchID);
watchID=null;
}
}
//显示加速度数据
成功时的功能(加速){
acc=加速度;
var元素=document.getElementById(“加速计”);
element.innerHTML='Acceleration X:'+Acceleration.X+'
'+ “加速度Y:”+加速度.Y+”
”+ “加速度Z:”+加速度.Z+”
”+ '时间戳:'+acceleration.Timestamp+'
'; 数据锁(); } 函数postdata(){ var accx=acc.x; 警报(accx); var fromDatan=JSON.stringify(fromData); 警报(fromDatan); //后JSON传感器数据 $.ajax({ url:“http://abcd.com", 标题:{ “X-API-KEY”:“2B9ADEDQEDQXDQD7956E6F7A”, “内容类型”:“应用程序/json” }, 键入:“放置”, 数据:fromDatan, 数据类型:“JSON”, 成功:函数(fromData、status、jqXHR){ 警报(JSON.stringify(fromData)); }, 错误:函数(jqXHR,状态){ 警报(JSON.stringify(jqXHR)); } }); 返回false; //var fromData={}; } var-fromData; var jsonCounter=0; 函数datalock(){ 警报(“进入”); fromData.push({ 值:accx.toString(), }); jsonCounter++; //只在10个条目后发布 如果(jsonCounter>=10){ postdata(); jsonCounter=0;//重置 }; //var fromData;//在其他函数中使用时将其设置为全局。 }

但代码现在不起作用。请告诉我问题出在哪里。虽然所有其他的事情都是正确的,但是我不能正确地执行推送。谁能帮帮我吗?它只是在点击“进入警报。就这样。不运行
postdata()

您的代码是否生成了9个以上的计数器?”?