使用Yahoo Finance检索股票更新

基本上我正在尝试做的是检索特定公司的股票报价。 在我的代码中,我在文本框(symb)中给出特定公司的符号( 例如:FB ),当我点击按钮(getupdate)时,它应列出有关我输入文本框的特定股票的详细信息。

这是我的代码:

     $(document).ready(function($){ $('getupdate').click(function() { var symbol = $('input[id=symb]').val(); \\For Example:FB var url = "http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quotes%20WHERE%20symbol%3D'+symbol+'&format=json&diagnostics=true&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys"; $.getJSON(url, function(data) { var items = []; $.each(data.query.results.quote, function(key, val) { items.push('
  • ' + val + '
  • '); }); $('
      ', { 'class': 'my-new-list', html: items.join('')}).appendTo('body'); }); }); });
      Stock Ticker :

    我哪里错了?

    提前致谢。

    您的JS代码中有几个错误:

    1. 按钮的选择器不正确: $('getupdate') => $('#getupdate') ;
    2. url值内的引号错误;
    3. 错误的查询字符串到Yahoo API;
    4. 错误的评论标志\\For Example:FB

    你的JS应该是这样的:

     jQuery(document).ready(function($){ $('#getupdate').click(function() { var symbol = $('input[id=symb]').val(); var url = 'http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quotes%20where%20symbol%3D%22' + symbol + '%22&format=json&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback='; $.getJSON(url, function(data) { var items = []; $('#results').html(''); $.each(data.query.results.quote, function(key, val) { items.push('
  • ' + val + '
  • '); }); $('
      ', { 'class': 'my-new-list', html: items.join('')}).appendTo('#results'); }); }); });

      请在HTML中的标记后添加此代码。 这将有助于您在新查询之前轻松清除结果:

       

      这是一个例子: http : //jsfiddle.net/6EFqk/1/

      我不确定输出格式是否正确,请根据需要重新格式化。

      首先,您没有正确选择按钮。

       $('#getupdate').click(function() { 

      其次,你的斜线是向后评论,他们总是向前不回。

       //For Example:FB 

      最后,由于服务的回馈,您没有得到任何结果:

      当前表’yahoo.finance.quotes’已被阻止。 它超过了时间或指令的分配配额

      http://jsfiddle.net/RVFW3/

      我刚刚发现这个流在这个主题上进行谷歌搜索。

      也许这个网站会回答你的问题… http://bitbenderz.com/stockticker/

      这是解决方案的一个版本: jsfiddle

       $.getJSON(yqlUrl1, function(data){ $.each(data.query.results.row, function(index, item){ var element = $('
      '); element.append('' + item.symbol + ' '); element.append('' + item.price + ' '); if (item.change.indexOf('+') > -1) { element.append(' ' + item.change + ''); } else { element.append(' ' + item.change + ''); } element.appendTo('#quotes'); }); })