从脚本中捕获数据

时间:2014-08-26 16:30:45

标签: javascript csv

我使用简单的"滚动骰子"脚本。在尝试保存滚动结果时,我碰到了一些砖墙。

我有什么方法可以保存骰子的结果吗? CSV可能是最简单的选择,列的标题为"日期" "名称" "结果"

我需要在没有任何特殊服务器端的情况下运行它,它只是存储在共享网络驱动器上的html,我没有完全的管理员访问权限。

感谢您的任何建议!

编辑:忘记提及,我可能会将骰子滚动结果添加到表单,然后将表单数据写入CSV。那么也许这可以简化?

1 个答案:

答案 0 :(得分:0)

******* 编辑 ******

如果您尝试通过javascript实际访问文件系统,我担心您运气不好.JS在浏览器中无法以任何方式访问文件系统作为安全功能。 因此,您的网络驱动器上不会存在持久存储。唯一可行的方法是在可以访问网络驱动器的计算机上安装某种服务器。如果你想要做的就是为每个用户创建一个文件来下载,那就是

****** 结束修改 ******

嗯,缺乏响应,包括代码我已经提出了这个解决方案:(fiddle link)

这是自定义代码:

var log = [];

$(document).ready(function () {
    $('#roll').click(function () {
        if (!$('#name').val()) {
            alert("Enter your name first.");
            return;
        }
        var data = {
            Date: Date.now(),
            Name: $('#name').val(),
            Result: (Math.floor(Math.random() * 6) + 1)
        };
        if (data === '') { return; }
        else {
            log.push(data);
            $('#rollLog').append('<tr><td>' + data.Date + '</td><td>' + data.Name + '</td><td>' + data.Result + '</td></tr>');
        }
    });

    $('#save').click(function () {
        JSONToCSVConvertor(log, "Roll Log", true);
    });
});

可在此处找到其他功能:http://jsfiddle.net/hybrid13i/JXrwM/

基本上,这里发生的是我们在javascript对象数组中创建和存储数据,这些对象可直接转换为JSON(根据Esaevian的评论)。然后我们使用这个很好的函数将JSON解析为CSV数组并在新窗口中打开它,然后您的浏览器将其解释为可下载的文件和wala!您可以下载信息。