2016-05-28 11 views
1

Ich kann keine internen Elemente der JSON-Daten abrufen. Here's der Link für die JSON-Daten.wie json daten von url holen?

Hier ist mein Code:

$(document).ready(function() { 

    //after button is clicked we download the data 
    $('.button').click(function(){ 

     //start ajax request 
     $.ajax({ 
      url: "http://www.miamia.co.in/dummy/?json=get_recent_posts", 
      //force to handle it as text 
      dataType: "text", 
      success: function(data) { 

       //data downloaded so we call parseJSON function 
       //and pass downloaded data 
       var json = $.parseJSON(data); 
       //now json variable contains data in json format 
       //let's display a few items 
    $('#results').html('Pages:'+ json.pages + '<br />postid: '+json.posts.id);//here I am not able to get the id 
      } 
     }); 
    }); 
}); 
+0

Haben Sie versucht, einen Fehler-Handler hinzugefügt, welche AJAX-Fehler sehen auftritt? Ist Knopf Teil eines Formulars? Tritt ein Klick-Ereignis auf? Nicht viele Informationen zur Fehlerbehebung. Sehen Sie [ask] – charlietfl

+0

'dataType:" json "' versuchen Sie, dies in Ihrem Ajax zu verwenden – Ramkee

+0

y kann Sie den dataType zu Json anstelle von Text machen. Und hast du versucht, json in der Konsole zu drucken? – sarath

Antwort

0

Dinge zu beachten:

  1. dataType: "JSON"
  2. Daten zurückgegeben JSON ist, so gibt es keine Notwendigkeit, es zu JSON
  3. Es ist zu analysieren data.posts[0].id und nicht data.posts.id

Die folgende Demo funktioniert. Sie können den JSON-Inhalt überprüfen, der in console.log oder in der Entwicklerkonsole Ihres Browsers zurückgegeben wird.

$(document).ready(function() { 
 

 
    //after button is clicked we download the data 
 
    $('body').on("click", "#button", function() { 
 

 
    //start ajax request 
 
    $.ajax({ 
 
     url: "http://www.miamia.co.in/dummy/?json=get_recent_posts&callback=?", 
 

 
     dataType: "JSON", 
 
     success: function(data) { 
 
     console.log(data); 
 
     //let's display a few items 
 
     $('#results').html('Pages:' + data.pages + '<br />postid: ' + data.posts[0].id); //here I am not able to get the id 
 
     } 
 
    }); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script> 
 
<div id="results"> 
 

 
</div> 
 
<input id="button" type="button" value="Get posts">