使用Javascript实现的YQL功能

时间:2014-10-30 15:40:26

标签: javascript jquery ajax yql

我正在使用此Ajax来从互联网上获取CSV文件。目前实现它的方式是调用yahooapisSQL类似的文件查询。

function getData(qry){
          $.ajax({
                url: 'http://query.yahooapis.com/v1/public/yql',
                data: { 
                    q: qry,
                    format: 'json',
                    _maxage: 120,
                    ts: getTS(dateNow)
                },
                cache:true,
                dataType: 'jsonp',
                success:function(data){  
                    setFlowData(data);      
                }   
            });
        }

qry类似于以下内容:

select * from csv where url IN ('http://example.com/public/zone.csv')

该文件然后由类似于此的函数解析:

if(data.query.count > 0){ 
        var queryData = data.query.results.row;
        if (queryData.col2 == rt.id) {  
            rt.lbmp = queryData.col3;
            rt.ts = queryData.col0;
        }       
    }

我的问题是如何在不使用YQL / SQL调用的情况下实现相同的功能?这可能是JavaScript实施的吗?谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

绝对可以在没有任何YQL的情况下处理CSV数据。如果csv数据来自您自己的域或CORS就绪,或者通过CORS代理服务器,您可以使用$ .ajax来提取csv数据。还有jquery-csv(https://code.google.com/p/jquery-csv/)或PapaParse(http://papaparse.com/)来解析CSV数据。