2013-05-12 21 views
5

Çalıştığım bir şirketin kendi Gizlilik Politikası ve Kullanım Koşulları için bir API'si var. Gizlilik Politikası için bir tane ve Kullanım Şartları için bir tane olmak üzere iki farklı sayfa oluşturmam gerekiyor. Ben bu konuda oldukça yeniyim ve yani yakınım gibi hissediyorum.JSON verilerini harici bir URL'den nasıl alırım?

<!DOCTYPE html> 
<html lang="en"> 
<head> 
<meta charset="utf-8" /> 
<title>Privacy Policy</title> 
</head> 
<body> 
    <div id="placeholder"></div> 
    <script src="http://code.jquery.com/jquery-1.7.1.min.js"></script> 
    <script> 
    $.getJSON('http://externalurl.com', function(external) { 
     var output="<ul>"; 
     for (var i in external.code.offset) { 
      output+="<li>" + external.html + "</li>"; 
     } 

     output+="</ul>"; 
     document.getElementById("placeholder").innerHTML=output; 
    }); 
    </script> 
</body> 
</html> 

Sadece boş bir sayfa döndürüyor:

{"code":200,"status":"Ok","data": 
    {"offset":0,"limit":20,"total":2,"target":"html_page","results":[ 
     { 
      "id":"6", 
      "title":"Privacy Policy", 
      "description":"Privacy Policy", 
      "html":"HTML CODE BLAH BLAH", 
      "tags":["privacy"] 
     }, 
     { 
      "id":"66", 
      "title":"License and TOU", 
      "description":"Terms of Use", 
      "html":"HTML CODE BLAH BLAH", 
      "tags":["terms"] 
     }] 
    } 
} 

İşte kullanıyorum kodu: Burada

JSON (bazı düzenlemeleri ile anonim hale getirme) alındığından emin yoludur . Neyi yanlış yapıyorum?

cevap

0

ben olması gerektiğini düşünüyorum:

$.getJSON('http://externalurl.com', function(external) { 
    var output="<ul>"; 
    for (var i = 0; i < external.data.results.length; i++) { 
     output+="<li>" + external.data.results[i].html + "</li>"; 
    } 

    output+="</ul>"; 
    document.getElementById("placeholder").innerHTML=output; 
}); 

Böylece ilk yanlış nesnenin üzerinde yineleme vardır, bu external.data.results değil external.code.offset bu. İkincisi, for (var i in array) ile bir dizi üzerinde yineleyemezsiniz.

3
$.getJSON('http://externalurl.com', function(external) { 
     var output = $("<ul />"); 

     $.each(external.data.results, function(i, result) { 
      $('<li />', {text : result.html}).appendTo(output); 
     }); 

     $('#placeholder').html(output); 
}); 
İlgili konular