我是SQL,JSON和Fusion Table的新手。我想从Fusion Table获取数据并将其存储在javascript中的变量中,以便我可以将数据附加到div元素中。
这是我到目前为止的javascript:
var TopCity;
TopCity = '{
"dataSourceUrl": 'http://www.google.com/fusiontables/gvizdata?tq=',
"query":
'SELECT Location FROM 131fgSFd-cumxvMzICckXO-W4CldzfO9J9D--Vw9V ORDER BY Total_Task_Num DESC LIMIT 1',
}';
$("#TopCityDiv").append("<div>" + TopCity + "</div>");
基本上,我想找到最多已完成任务的城市并显示城市名称。
我通读了融合表sql的东西,但仍然感到困惑: https://developers.google.com/fusiontables/docs/v1/sql-reference
感谢所有帮助。
更新:它有效!
为了查询我的融合表而不是将其保存在表中,我需要启用Fusion Table API并创建一个公共API密钥。
工作代码:
$(document).ready(function() {
var TopCity;
$.ajax({
type: "GET",
url: "https://www.googleapis.com/fusiontables/v1/query?sql=SELECT+Location+FROM+131fgSFd-cumxvMzICckXO-W4CldzfO9J9D--Vw9V+ORDER+BY+Total_Task_Num+DESC+LIMIT+1&hdrs=false&typed=false&fields=rows&key={API Key}",
success: function(data) {
TopCity = data["rows"];
$("#TopCityDiv").append("<div>" + TopCity + "</div>");
},
error: function(xhr, error) {
console.log('NaN');
}
});
});
答案 0 :(得分:1)
您应该使用回调来获取数据。例如,您可以使用以下代码
<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
var TopCity;
$.get('https://www.googleapis.com/fusiontables/v1/query?sql=SELECT Location FROM 131fgSFd-cumxvMzICckXO-W4CldzfO9J9D--Vw9V ORDER BY Total_Task_Num DESC LIMIT 1&key={your API key}', function (data, status, xhr) {
//assign the data to TopCity for future use
TopCity = data;
//do something with the data here
$.("#TopCityDiv").append("<div>" + data + "</div>");
});
});
</script>