Yahoo JSONP Ajax Request Wrapped in callback function

前端 未结 5 1973
孤独总比滥情好
孤独总比滥情好 2020-12-06 21:38

I understand that I can make a crossdomain ajax call with jquery, .ajax, and jsonp. I am calling the yahoo stock quote api. Everything is working and the result is returning

5条回答
  •  时光取名叫无心
    2020-12-06 22:16

    I wanted to add this answer since it looks like user209245's answer above (which is from 2011) no longer works. Here's how I did it:

    1. Use the YQL Console to build a query for the stock you want to get, e.g. Apple:

      select * from yahoo.finance.quotes where symbol="AAPL"

    2. Make sure JSON is selected and specify a JSONP callback, e.g. quote
    3. Click Test
    4. Plug in the REST query that it generates for you like this:

      var quote;
      
      $(document).ready(function() {
          $.ajax({
              url: "http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quotes%20where%20symbol%3D%22AAPL%22&format=json&diagnostics=true&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback=quote",
              dataType: "jsonp",
              jsonp: "callback",
              jsonpCallback: "quote"
          });
      
          quote = function(data) {
              $(".price").text("$" + data.query.results.quote.AskRealtime);
          };
      });
      

      Then on your page the .price

      would display:

      $543.21
      

    Of course, once you get the data back you can display anything you want; I'm just using price as an example since that's what I needed this for.

提交回复
热议问题