【发布时间】:2014-10-30 15:40:25
【问题描述】:
我正在使用此Ajax 调用从 Internet 获取 CSV 文件。目前它的实现方式是调用yahooapis 和SQL 类似的文件查询。
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 实现可以实现吗?感谢您的帮助。
【问题讨论】:
-
你想做什么? yql 调用转到服务器,服务器查看您的查询和参数并构建返回的数据。如果这是形成该数据的唯一方法,那么这就是您坚持的方式。为什么它甚至是一个问题??
-
因为我的任务是消除系统 @Spacedman 中对 YQL 的需求。我很想保留它,但不幸的是,我需要找到一种方法来消除我们对它的需求。
-
我认为没有人可以提供帮助,除非您至少告诉我们
qry您传递给此的内容。 -
@Spaceman 我添加了查询。它只是对文件的调用,然后由另一种方法解析。
-
那么你只是想将整个csv文件放入一个JS变量中吗? YQL 只是为你做 csv->json?所以你只需要一个解析器……goog……code.google.com/p/jquery-csv
标签: javascript jquery ajax yql