在进行一些搜索后,似乎这类问题影响了许多用户,因此这个问题的答案可以帮助雅虎YQL平台的许多用户。
我本质上的目标是提取存储在Web服务器上的半静态CVS文档,然后在Javascript中解析。半静态意味着CVS文档不会附加到其他条目,而是每个条目都被修改。
使用YQL控制台https://developer.yahoo.com/yql/console/为我提供了对存储在远程服务器上的半静态CVS文件的每次调用的更新数据。我可以修改数据,YQL控制台将成功返回更新的数据。当我提取他们提供的休息查询并简单地粘贴'它进入浏览器窗口,提供的数据对应于我做的第一个查询。当我在Javascript中将查询作为$ .getJSON请求嵌入时:
$。getJSON(" https://query.yahooapis.com/v1/public/yqlq=select%20 *%20from%20csv%20 where%20url%3D' mywebsite.csv'& format = json")。done(function(数据){
我仍然得到过时的数据。如果我切换到不同的Web浏览器或设备,信息仍然过时,这让我觉得它不是本地计算机上的缓存问题。
我认为问题出现在两个方面之一:
1)也许雅虎会缓存查询,只从动态增长的表/文件中获取更新信息
2)我没有正确使用YQL查询。
另外需要注意的是,完全相同的查询结构与Google表单(可以作为CVS导出)完美配合,并且在我使用的动态增长的CVS文档上也能顺利运行现在是复古数据库,需要快速切换到简单的半静态文档。
可以对我的半静态CVS文档起作用的任何想法或修正?
答案 0 :(得分:0)
这听起来像浏览器缓存问题
尝试在网址中添加时间戳,使每个请求都有唯一的网址,因此浏览器不会有缓存
var params ={
q : "select%20*%20from%20csv%20where%20url%3D'mywebsite.csv'",
format: "json",
_v : Date.now()
};
$.getJSON("https://query.yahooapis.com/v1/public/yql", params ).done...