-1

我正在尝试从 Yahoo's Finance API 获取 JSON 数据。

$.getJSON("http://query.yahooapis.com/v1/public/yql?q=select%20%2a%20from%20yahoo.finance.quotes%20WHERE%20symbol%3D%27WRC%27&format=json&diagnostics=true&env=store://datatables.org/alltableswithkeys&callback", function(data) {
// I am parsing JSON string using data here 
});

问题是当股票收盘时,我需要显示最后交易值。我找到了一个将值作为 CSV 文件返回的链接。所以我需要下载它并用jQuery解析它。

这是我到目前为止所做的:

$.getJSON("http://query.yahooapis.com/v1/public/yql?q=select%20%2a%20from%20yahoo.finance.quotes%20WHERE%20symbol%3D%27WRC%27&format=json&diagnostics=true&env=store://datatables.org/alltableswithkeys&callback", function(data) {


if(data.query.results.quote.DaysLow == null && data.query.results.quote.DaysHigh == null){

    //When stock is closed this section works
    var date = data.query.results.quote.LastTradeDate;
    var datesplit = date.split('/');


        $.ajax({
        type: "GET",
        url: "http://ichart.finance.yahoo.com/table.csv?s=WRC&a="+ datesplit[1] +"&b="+ datesplit[0] + "&c="+ datesplit[2] +"&d="+ datesplit[1] +"&e="+ datesplit[0] +"&f="+ datesplit[2] +"&g=d&ignore=.csv",
        dataType: "text",
        success: function(data) { 
            console.log(data);
        }
        });
}
else{
  //When stock is not closed this section works
  //There is no problem in this section

}       
});

这是我收到的错误消息:

XMLHttpRequest 无法加载 http://ichart.finance.yahoo.com/table.csv?s=WRC&a=18&b=9&c=2012&d=18&e=9&f=2012&g=d&ignore=.csv。Access-Control-Allow-Origin 不允许 Origin null。

你能帮我下载CSV文件吗?

4

2 回答 2

1

我认为不需要 ajax 你可以简单地称之为

    document.location.href = "http://ichart.finance.yahoo.com/table.csv?s=WRC&a="+ datesplit[1] +"&b="+ datesplit[0] + "&c="+ datesplit[2] +"&d="+ datesplit[1] +"&e="+ datesplit[0] +"&f="+ datesplit[2] +"&g=d&ignore=.csv";

它不会重新加载页面

于 2012-09-19T11:21:57.553 回答
-1

您可以使用任何服务器端脚本来完成

例如:-

  $.ajax({
    type: "GET",
    url: "your-server-side-file.php",
    dataType: "text",
    success: function(data) { 
        console.log(data);
    }
  });

并在该服务器文件your-server-side-file.php处理中,csv 文件解析该值。以您自己的格式返回。

例如 php csv 文件解析http://php.net/manual/en/function.fgetcsv.php

于 2012-09-19T11:36:26.237 回答