2013-05-12 8 views
5

एक कंपनी जिसके साथ मैं काम कर रहा हूं उसकी गोपनीयता नीति और उपयोग की शर्तों के लिए एक एपीआई है। मुझे दो अलग-अलग पेज बनाने की जरूरत है ... गोपनीयता नीति के लिए एक और उपयोग की शर्तों के लिए एक। मैं इस पर बहुत नया हूं, और मुझे लगता है कि मैं हूं इसलिए बंद करें।मैं बाहरी यूआरएल से JSON डेटा कैसे प्राप्त करूं?

<!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> 

यह सिर्फ एक खाली पृष्ठ लौटा रहा है:

{"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"] 
     }] 
    } 
} 

यहाँ कोड मैं का उपयोग कर रहा है:

यहाँ तरीका है कि JSON प्राप्त होता है (कुछ संपादन के साथ बेनामी बना करने के लिए) है । मैं क्या गलत कर रहा हूं?

उत्तर

0

मुझे लगता है कि यह होना चाहिए:

$.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; 
}); 

तो सबसे पहले आप गलत वस्तु पर पुनरावृत्ति कर रहे हैं, यह external.data.results और नहीं external.code.offset है। दूसरा, आप for (var i in array) के साथ एक सरणी पर फिर से नहीं जा सकते हैं।

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); 
}); 
संबंधित मुद्दे