如何将点击路径保存为 JSON?
Posted
技术标签:
【中文标题】如何将点击路径保存为 JSON?【英文标题】:How to save click path as JSON? 【发布时间】:2021-12-28 17:51:28 【问题描述】:假设我有一个用 javascript 编写的测验。每个问题有四种不同的可能答案。参与者一个一个点击完成测验,他可以随时取消它。
现在我想保存用户的点击路径,包括各自的时间戳。我的想法是将点击路径记录为 JavaScript 对象,并通过 AJAX 将此对象传输到服务器,并在每次点击后将其保存在 JSON 文件中。这有意义吗?
在我看来,棘手的事情是 (1) 为第二次点击后的每次点击在测验会话(无会话 cookie)中更新正确的对象(JSON 文件中的正确行)和(2 ) 为新的测验会话附加一个新对象,如果可能的话,无需每次都读取和重写整个 JSON 文件。
感谢您的意见和想法。
编辑:我可以控制后端并且我正在使用 php。
【问题讨论】:
无需动态更新文件。将数据保存在对象中,然后使用JSON.stringify
将对象转换为 JSON。然后将其发送到服务器进行保存。
但是由于参与者可以随时取消测验,我需要在每次单击后保存对象。
我猜它不需要用户的明确操作来“取消”,然后呢?基本上他们可以随时退出标签或点击后退按钮取消?
阿贾克斯。 ajax 是您向服务器发送数据的方式。
@KevinB 哈哈。 ["You'd": ["hate", "the", "way"], "I": "work": "then", "since": "I": "write", "JSON": ["by", "hand"], "all", "the", "time"]
。不过,诚然,如果我在计算上更新JSON
,我将始终首先更新JSON.parse()
或json_decode()
。我不会将其编辑为字符串。
【参考方案1】:
现在我想保存用户的点击路径,包括各自的时间戳。我的想法是将点击路径记录为 JavaScript 对象,并通过 AJAX 将此对象传输到服务器,并在每次点击后将其保存在 JSON 文件中。
您可以更简单地在localStorage
中存储JSON
(包括时间戳)并在那里更新,而不是通过 Ajax 将对象发送到服务器并将其保存在 .json
文件中。
见localStorage API
:
localStorage
两者兼有:
【讨论】:
那你如何获取服务器上的数据? 但是由于参与者可以随时取消测验,我需要在每次点击后传输数据。 @ThreeYearOld 然后这样做。你被困在哪里了? 我想如果参与者只是关闭浏览器,它就不起作用,是吗? 好的。我需要想一想。谢谢!以上是关于如何将点击路径保存为 JSON?的主要内容,如果未能解决你的问题,请参考以下文章
vscode:如何在保存less文件时,自动生成对应的css文件,并指定css文件的保存路径
sh 将stdin转换为其他语言并将其保存为输出路径为.json文件
如何将word,excel,powerpoint等转换成html或pdf