我如何从一个用户那里获取输入的数据,该用户被JSON解析为一个Javascript文件,该文件已经加载了另一组JSON数据?
我正在尝试制作一个小的抽认卡游戏,它允许用户通过HTML通过我如何从一个用户那里获取输入的数据,该用户被JSON解析为一个Javascript文件,该文件已经加载了另一组JSON数据?,javascript,jquery,html,json,parsing,Javascript,Jquery,Html,Json,Parsing,我正在尝试制作一个小的抽认卡游戏,它允许用户通过HTML通过字段输入自己的问题和答案来定制一组抽认卡。我一直在思考如何将这些数据链接到一个实际运行flashcard游戏的javascript文件。运行游戏的javascript文件已经准备好了,有一组默认的JSON数据链接到特定的javascript文件。我将如何交换这些JSON数据集,以便用户使用带有他们创建的问题和答案的抽认卡 以下是一些视觉效果和代码,可帮助您了解此处发生的情况: 显示用户可以在何处输入自己的问题和答案 然后,用户可以单击
字段输入自己的问题和答案来定制一组抽认卡。我一直在思考如何将这些数据链接到一个实际运行flashcard游戏的javascript文件。运行游戏的javascript文件已经准备好了,有一组默认的JSON数据链接到特定的javascript文件。我将如何交换这些JSON数据集,以便用户使用带有他们创建的问题和答案的抽认卡
以下是一些视觉效果和代码,可帮助您了解此处发生的情况:
显示用户可以在何处输入自己的问题和答案
然后,用户可以单击“创建抽认卡”按钮,标签中的数据将解析为JSON,如下所示:
我有一个名为flashcards.js的文件,它已经有一组默认的flashcard数据,这些数据是从JSON文件加载的。以下是执行此操作的代码:
var jsonUrl = "questionsAndAnswersItalian.json";
var cardIndex = 0;
var qs;
var numCards;
var maxIndex;
var isFlipped = 0;
var colorIndex = 0;
var colorClasses = ['c0','c1','c2','c3'];
(a bunch of code to make the game work in between)
function init() {
$.getJSON(jsonUrl, function(jsonObject) {
qs = jsonObject;
numCards = qs.length;
maxIndex = numCards-1;
displayCard();
});
}
function displayCard() {
$("#card").fadeOut(400,function(){
colorIndex = getRandomInteger(0,3);
$("#card").addClass(colorClasses[colorIndex])
isFlipped = 0;
var newHtml = "<h2>Question Words</h2>";
newHtml += qs[cardIndex]["q"];
document.getElementById("question").innerHTML = newHtml;
}).fadeIn(400);
}
如果你需要更多的信息来帮助理解这里发生了什么,请不要犹豫
如有任何意见、帮助或建议,将不胜感激
谢谢 您可以将问题推送到html页面url上的GET参数。这将允许用户在没有集中服务器的情况下创建和共享,但也将问题的总文本长度限制在4kb左右。在某些情况下,您可以使用TinyURL来解决这个问题,但较旧的浏览器和代理无法配合……您需要一个后端进程来保存
json
文件数据。JS无法保存它,因为它在客户端本地运行。如果用户只需要与数据交互…可以使用localStorage。使用JSON.stringify(array)
存储,使用JSON.parse
返回数组retrieving@dandavis你能更详细地解释一下我是如何做到这一点的吗?谢谢。例如,如果所有用户创建的问题都在同一表单位置上。hash=$(form.serialize();在ready中,查看location.hash,如果存在,则解析它并恢复表单值,或者像使用getJSON一样直接将其提供给问题接口。您可以使用JSON代替serialize(),或者将两者转换为JSON;我相信有很多jQuery插件可以实现这一点。
var jsonUrl = "questionsAndAnswersItalian.json";