使用javascript以json格式获取yahoo finance的股票报价

Vin*_*aju 9 javascript rest

我试图从雅虎api获得股票报价.我对查询的输入只是一个股票代码(来自文本字段).在按钮上单击后面的JavaScript方法"getprice()"被调用.我有一个看起来像这样的java脚本代码

function getprice()
{
    var symbol = $('#stockquote').val();


    var url = "http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quotes%20where%20symbol%20in%20(%22"+symbol+"%22)%0A%09%09&env=http%3A%2F%2Fdatatables.org%2Falltables.env&format=json";

    $.getJSON(url, function (json)
    {

        var lastquote = json.query.results.quote.LastTradePriceOnly;
        $('#stock').text(lastquote);

    });
}

 $('#stock').text(lastquote); 
Run Code Online (Sandbox Code Playgroud)

这里"stock"是我希望显示给定股票代码的LastTradePriceOnly的文本字段.

我没有看到任何输出出现.调试也不会显示任何错误.我可以就此问题得到任何建议吗?

Vla*_*den 13

试试这个.

function getData() {
    var url = 'http://query.yahooapis.com/v1/public/yql';
    var symbol = $("#symbol").val();
    var data = encodeURIComponent("select * from yahoo.finance.quotes where symbol in ('" + symbol + "')");

    $.getJSON(url, 'q=' + data + "&format=json&diagnostics=true&env=http://datatables.org/alltables.env")
        .done(function (data) {
            $('#result').text("Price: " + data.query.results.quote.LastTradePriceOnly);
        })
        .fail(function (jqxhr, textStatus, error) {
            var err = textStatus + ", " + error;
            console.log('Request failed: ' + err);
        });
}
Run Code Online (Sandbox Code Playgroud)

在这里,我还为您添加了工作示例.