Print

Print


I haven't quite figured out why the each is not behaving as expected, but
this worked, returning all 20 titles delivered by the JSON.

I expected the each() to parse down from the single results container, so
why book_details has to be referenced by incrementing the results array (or
is it an object?) seems wrong.

<!DOCTYPE html>
<html>
<head>
<meta charset="iso-8859-1">
<title> NY Times Hardcover Fiction Bestsellers </title>
<!cript type="text/javascript" src="
http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js"></script>
<!cript type="text/javascript">
    $(document).ready(function(){
        //json request to new york times via proxy
        $.getJSON('http://www.sjpl.org/otherscripts/callback.php?callback=?
',
        function(data){
            for(var i = 0; i < 20; i++){
                $.each(data.results[i].book_details, function(n,item){
                    var bookTitle = item.title;
                    $('#container').append('<p>'+bookTitle+'</p>');
                });
            };
        });
    });
</script>

</head>
<body>

<div id="container"></div>

</body>
</html>



On Thu, Sep 29, 2011 at 5:33 PM, Nate Hill <[log in to unmask]> wrote:

> *Here's my problem:*
> I can only return the book title and the isbn by specifying which one in
> the
> array I want, so I'm using: data.results[0].book_details to pull the first
> title.
> Something is wrong with the way I'm using $.each()
>