Cannot access objects from Yahoo Boss YQL Response Data

52 Views Asked by At

I am having lots of problem accessing any objects from a Yahoo Boss YQL Json Response data. I used this YQL Console for Boss Search Tables.

Here is what I have done:

<!DOCTYPE HTML>
<html>
<head>
<script src="http://code.jquery.com/jquery-2.0.3.min.js" type="text/javascript"></script>
<script type="text/javascript">

var url = "https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20boss.search%20where%20service%20%3D%22images%22%20AND%20count%3D%221%22%20AND%20q%3D%22iphone6%22%20AND%20ck%20%3D%20%22MYCONSUMER_KEY%22%20AND%20secret%3D%22MYCONSUMER_SECRET%22%3B&format=json&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys";


(function showPix()
      {
          $.getJSON(url, function (data)
        {
          console.log(data);
          var myObj = data.results.bossresponse.images.results.result.clickurl;
          $.each(myObj, function ()
          {
            $('#pix').append(this);
          });
        });
      })();

</script>
</head>

<body>
    <div id="pix">
    </div>
    <button onclick="showPix();">run</button>

</body>
</html>

The console.log(); gives me one object that contains the image, but I cannot manage to show the image on the screen. And it tells me that showPix is undefined. Any help would be greatly appreciated. TIA

1

There are 1 best solutions below

0
Lamine On BEST ANSWER

I figured this out as follows:

<html>  
      <head><title>YQL and RSS: Yahoo Top News Stories</title>  
      <style type='text/css'>  
        #results{ width: 40%; margin-left: 30%; border: 1px solid gray; padding: 5px; height: 200px; overflow: auto; }   
      </style>  
      <script type='text/javascript'>  
        // Parses returned response and extracts  
        // the title, links, and text of each news story.  
        function top_stories(o){  
          var items = o.query.results.item;  
          var output = '';  
          var no_items=items.length;  
          for(var i=0;i<no_items;i++){  
            var title = items[i].title;  
            var link = items[i].link;  
            var desc = items[i].description;  
            output += "<h3><a href='" + link + "'>"+title+"</a></h3>" + desc + "<hr/>";  
          }  
          // Place news stories in div tag  
          document.getElementById('results').innerHTML = output;    
        }  
        </script>  
      </head>  
      <body>  
        <!-- Div tag for stories results -->  
        <div id='results'></div>  
        <!-- The YQL statment will be assigned to src. -->  
        <script src='https://query.yahooapis.com/v1/public/yql?q=select%20title%20from%20rss%20where%20url%3D%22http%3A%2F%2Frss.news.yahoo.com%2Frss%2Ftopstories%22&format=json&callback=top_stories'></script>  
      </body>