我一直在尝试不同的编码方法,目前是p5js.org的,我无法看到使用document.write将json代码发布到我的网站,但它确实打印到控制台。有什么想法吗?
var bibleVerse;
function setup() {
loadJSON('http://labs.bible.org/api/?passage=votd&type=json', gotData, 'jsonp');
}
function gotData(data){
println(data);
bibleVerse = data;
}
document.write(bookname.chapter.verse.text);
答案 0 :(得分:0)
这假设p5js有效。
您应该确定要在网页上查看数据的位置并将数据插入该元素,而不是使用document.write
。您可以使用元素id
来完成此操作。
例如,您想将引用放入此段落中:
<p id="quote">Alternate Text</p>
然后将此document.write
替换为:
document.getElementById("quote").innerHTML = data;
全部放在一起,您的JS代码可能如下所示:
function setup() {
loadJSON('http://labs.bible.org/api/?passage=votd&type=json', gotData, 'jsonp');
}
function gotData(data){
document.getElementById("quote").innerHTML = data;
// note: var bibleVerse is never used
}
Alternate Text
就是为了防止JS函数失败。
如果您不熟悉Web开发,请注意:如果您不想使用jQuery的$(document).ready()
函数,则应将此JS脚本置于中<body>
。底部。这样你的页面首先加载,然后JS执行。
答案 1 :(得分:0)
如果您按顺序执行此代码:
var bibleVerse;
function setup() {
loadJSON('http://labs.bible.org/api/?passage=votd&type=json', gotData, 'jsonp');
}
function gotData(data){
println(data);
bibleVerse = data;
}
document.write(bookname.chapter.verse.text);
执行以下步骤:
bibleVerse
变量setup
函数gotData
函数bookname.chapter.verse.text
写入文档。这不起作用,因为:
document.write
在 gotData
运行之前正在运行。bookname
未定义。document.write
按照正确的顺序发生,在页面加载完成后也不支持。我建议你:
<div id="verse"></div>
)setup
功能附加到DOM事件(例如document.addEventListener('load', setup);
)document.write
,并在gotData
函数中添加以下内容:样品:
var textNode = document.createTextNode(data.bookname.chapter.verse.text);
document.querySelector('#verse').appendChild(textNode);