Ajax请求从第三方服务器读取csv文件内容

时间:2016-09-21 11:02:33

标签: jquery ajax csv jsonp

我想通过使用ajax来读取其URL为“http://real-chart.finance.yahoo.com/table.csv?s=CVX&a=01&b=19&c=2001&d=01&e=19&f=2016&g=v&ignore=.csv”的csv文件的内容。我跌倒在错误之下:

如果我在下面尝试过,我会收到CORS错误

    $.ajax({
        url: 'http://real-chart.finance.yahoo.com/table.csv?s=CVX&a=01&b=19&c=2001&d=01&e=19&f=2016&g=v&ignore=.csv',
        type: 'GET',
        dataType: "text/csv",
        contentType:'application/json;charset=utf-8',               
        success: function (data)
        {
            console.log("success " + data);
        },
        error: function (data) {
            console.log("error " + data);
        }
    });

由于我无法更改服务器端,所以我更改为使用jsonp和下面的代码,它返回200并且我可以查看响应正文中的数据,但是我收到错误“'Dividends'未定义”,并且它出错了行,我无法得到响应数据。我不明白为什么它会读取内容,甚至输出错误'Dividends'这是csv文件中的第二列。

       $.ajax({
            url: 'http://real-chart.finance.yahoo.com/table.csv?s=CVX&a=01&b=19&c=2001&d=01&e=19&f=2016&g=v&ignore=.csv',
            type: 'GET',               
            dataType: "jsonp",                            
            success: function (data)
            {
                console.log("success " + data);
            },
            error: function (data) {
                console.log("error " + data);
            }
        });

正如我的研究,似乎我的数据类型是jsonp,返回数据类型是csv,因此Ajax在状态成功时出错。

您能否分享一下如何从网址获取内容?

1 个答案:

答案 0 :(得分:0)

使用文本代替jsonp或text / csv

dataType : "text"