具有额外参数的Fusion table ajax查询

时间:2013-05-06 16:05:29

标签: jquery google-fusion-tables

我通过jquery ajax查询谷歌融合表:

var queryUrlStart = 'http://www.google.com/fusiontables/api/query?sql=';
var queryUrlEnd = '&jsonCallback=?'; // ? could be a function name
var sql = "SELECT * FROM " + this.tableId;
if (where !== undefined) {
    sql += " WHERE " + where;
}
sql += " ORDER BY '" + _scaleRow.name + "' DESC";

var queryUrl = encodeURI(queryUrlStart + sql + queryUrlEnd);

$.ajax({
    type: 'POST',
    context: this,
    url: queryUrl,
    dataType: 'json',
    success: this.handleData
});

我希望能够知道正在查询哪个表,所以我想添加一个额外的参数来识别它。我试过了:

$.ajax({
    type: 'POST',
    context: this,
    data: {'table' : this.tableId}
    url: queryUrl,
    dataType: 'json',
    success: this.handleData
});

但我没有在任何可以检索table

的地方看到它

1 个答案:

答案 0 :(得分:1)

可能有不同的方式,例如以下内容:

$.ajax({
    context: this,
    url: queryUrl,
    dataType: 'json',
    beforeSend:(function(data){return function(jqXhr){jqXhr.data=data}})
               ({'table' : this.tableId}),
    success: this.handleData
});

它使用beforeSend方法向jqXhr对象添加新属性。可以在success-callback中访问jqXhr-object(它是第3个参数),所以这将成为你成功回调的一个例子:

handleData=function(data,status,jqXhr){
             alert('results for table:'+jqXhr.data.table);
           };