我更像是一个后端人,这个javascript的东西有点偏离我的区域。我真的可以在正确的方向上使用一点:)
所以我有一个URL,例如,返回这个JSON:
[{"pk": 1, "model": "didyouknow.fact", "fields": {"fact": "Random fact 1"}},
{"pk": 2, "model": "didyouknow.fact", "fields": {"fact": "Random fact 2"}},
{"pk": 3, "model": "didyouknow.fact", "fields": {"fact": "Random fact 3"}},
{"pk": 4, "model": "didyouknow.fact", "fields": {"fact": "Random fact 4"}},
{"pk": 5, "model": "didyouknow.fact", "fields": {"fact": "Random fact 5"}}]
我想写一段我可以嵌入HTML的javascript,它会随机选择并打印JSON URL中的一个“事实”。
答案 0 :(得分:1)
希望这会有所帮助:
var a = '[{"pk": 1, "model": "didyouknow.fact", "fields": {"fact": "Random fact 1"}}, {"pk": 2, "model": "didyouknow.fact", "fields": {"fact": "Random fact 2"}}, {"pk": 3, "model": "didyouknow.fact", "fields": {"fact": "Random fact 3"}}, {"pk": 4, "model": "didyouknow.fact", "fields": {"fact": "Random fact 4"}}, {"pk": 5, "model": "didyouknow.fact", "fields": {"fact": "Random fact 5"}}]';
alert(eval(a)[0].model);
以下是使用AJAX呼叫(本地)Web服务的示例:
$.ajax({
url: "test.php",
success: function(data){
alert(eval(data).result);
}
});
答案 1 :(得分:1)
你可以这样做:
var questionData = JSON.parse(data);
var randomIndex = Math.floor(Math.random() * questionData.length);
var randomFact = questionData[randomIndex].fields.fact;
然后,您想要对网页中的randomFact做什么取决于您,并且您没有提供任何有关此信息的信息供我们帮助。您可以将事实放入页面上的现有元素中。您可以在页面上创建所需的新元素,等等......
答案 2 :(得分:0)
使用JSON.parse
转换为数组并选择随机元素。如果你仍然无法让它发布你的代码。