2016-03-22 14 views
0

Şu anda farklı kodlama yöntemlerini deniyorum, şu anda p5js.org'un ve ben json kodunun document.write kullanarak web siteme gönderilmesini göremiyorum, ancak konsola yazdırıyor. Herhangi bir fikir?Bir JSON URL'si Yükleme ve Web Sitesine Gönderme

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

Tam olarak ne yapmaya çalışıyorsunuz? Neden document.write' kullanmaya çalışıyorsunuz? Sayfaya bilgi yazmak istiyorsanız, 'document.write' kullanmayın, DOM (' .innerHTML' ve benzeri) kullanın. –

+0

Ve 'document.write' kullanmaya çalışıyorsanız, neden paylaştığınız kodda herhangi bir yerde" document.write "görünmüyor? – Quentin

+0

Günün ayetini web siteme göndermeye çalışıyorum. –

cevap

0

Bu, p5js'un çalıştığını varsayar.

document.write kullanmak yerine, web sayfanızdaki verileri görmek istediğiniz yeri belirlemeli ve verileri o öğeye eklemelisiniz. Bunu öğenin id kullanarak yapabilirsiniz. Sonra bununla document.write senin yerine

<p id="quote">Alternate Text</p>

:

document.getElementById("quote").innerHTML = data;

Hep birlikte, JS kodu olabilir koymak

Örneğin, bu paragrafın içine alıntı koymak istiyorum Şunlara benzer:

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 
} 

JS işlevlerinin başarısız olması durumunda Alternate Text var. Eğer web geliştirme yeniyseniz


Yan not: jQuery'nin $(document).ready() işlevini kullanmak istemiyorsanız, bu altındaki <body> içine senaryoyu JS koymak gerekir. Bu şekilde sayfanız ilk önce yüklenir, daha sonra JS yürütür. Eğer sırayla aracılığıyla bu kodu izlerseniz

+0

'innerHTML' ile dikkatli olun; metin HTML içeriği içeriyorsa, bundan kaçınılamaz. Metin içeriği için metin düğümlerini kullanmak daha güvenlidir. – Jacob

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); 

Aşağıdaki adımlar kapsamaz:

  • bir gotData fonksiyonunu beyan

    1. bir bibleVerse değişken
    2. bir setup fonksiyonunu beyan beyan
    3. W Belgeye bookname.chapter.verse.text rite.

    Bu işe yaramaz, çünkü: (Eğer koddan bu atlanmış sürece)

    1. Hiçbir şey
    2. document.write çalıştırılır gotData önce çalıştığı kurulum çağırıyor.
    3. bookname tanımsızdır.
    4. document.write doğru sırada gerçekleşse bile, sayfa bittikten sonra bu gerçekten desteklenmez.

    seni öneriyorum:

    1. ayet yapacak sayfadaki bir yer tutucu koyun (gibi <div id="verse"></div>)
    2. ( document.addEventListener('load', setup); benzeri) bir DOM olay için setup fonksiyonunu takın document.write çıkarın, gotData işlevine böyle bir şey eklemek
    3. :

    Örnek:

    var textNode = document.createTextNode(data.bookname.chapter.verse.text); 
    document.querySelector('#verse').appendChild(textNode); 
    
  • İlgili konular