如何使用获取请求重新加载数据客户端?
How to reload datable client side with get request?
我有以下代码
$(document).ready(function(){
var url = "https://query.yahooapis.com/v1/public/yql?format=json&q=select%20*%20from%20yahoo.finance.xchange%20where%20pair%20in%20(%22USDEUR%22,%20%22USDJPY%22,%20%22USDBGN%22,%20%22USDCZK%22,%20%22USDDKK%22,%20%22USDGBP%22,%20%22USDHUF%22,%20%22USDPLN%22,%20%22USDRON%22,%20%22USDSEK%22,%20%22USDCHF%22,%20%22USDNOK%22,%20%22USDHRK%22,%20%22USDRUB%22,%20%22USDTRY%22,%20%22USDAUD%22,%20%22USDBRL%22,%20%22USDCAD%22,%20%22USDCNY%22,%20%22USDHKD%22,%20%22USDIDR%22,%20%22USDILS%22,%20%22USDINR%22,%20%22USDKRW%22,%20%22USDMXN%22,%20%22USDMYR%22,%20%22USDNZD%22,%20%22USDPHP%22,%20%22USDSGD%22,%20%22USDTHB%22,%20%22USDZAR%22,%20%22USDISK%22)&env=store://datatables.org/alltableswithkeys";
$.get(url, function( data ) {
var ratesJSON = data['query']['results']['rate'];
console.log( "Data Loaded: " + data['query']['results']['rate'].length );
$('#example').DataTable( {
data: ratesJSON,
columns: [
{ data: "Name" },
{ data: "Rate" },
{ data: "Ask" },
{ data: "Bid." },
{ data: "Date" },
{ data: "Time" }
]
} );
});
});
以上工作正常。但是现在我需要每 30 秒重新加载 table (以及数据)。我可以使用 datatable reload 来实现吗?或者我应该使用 jQuery 重复整个过程?
我通过将代码重组为
使其工作
$(document).ready(function(){
var table = $('#example').DataTable( {
//data: ratesJSON,
columns: [
{ data: "Name" },
{ data: "Rate" },
{ data: "Ask" },
{ data: "Bid." },
{ data: "Date" },
{ data: "Time" }
],
ajax : {
url: "http://query.yahooapis.com/v1/public/yql?format=json&q=select%20*%20from%20yahoo.finance.xchange%20where%20pair%20in%20(%22USDEUR%22,%20%22USDJPY%22,%20%22USDBGN%22,%20%22USDCZK%22,%20%22USDDKK%22,%20%22USDGBP%22,%20%22USDHUF%22,%20%22USDPLN%22,%20%22USDRON%22,%20%22USDSEK%22,%20%22USDCHF%22,%20%22USDNOK%22,%20%22USDHRK%22,%20%22USDRUB%22,%20%22USDTRY%22,%20%22USDAUD%22,%20%22USDBRL%22,%20%22USDCAD%22,%20%22USDCNY%22,%20%22USDHKD%22,%20%22USDIDR%22,%20%22USDILS%22,%20%22USDINR%22,%20%22USDKRW%22,%20%22USDMXN%22,%20%22USDMYR%22,%20%22USDNZD%22,%20%22USDPHP%22,%20%22USDSGD%22,%20%22USDTHB%22,%20%22USDZAR%22,%20%22USDISK%22)&env=store://datatables.org/alltableswithkeys",
dataSrc: function ( json ) {
return json['query']['results']['rate'];
}
}
} );
setInterval( function () {
table.ajax.reload();
}, 3000 );
});
我有以下代码
$(document).ready(function(){
var url = "https://query.yahooapis.com/v1/public/yql?format=json&q=select%20*%20from%20yahoo.finance.xchange%20where%20pair%20in%20(%22USDEUR%22,%20%22USDJPY%22,%20%22USDBGN%22,%20%22USDCZK%22,%20%22USDDKK%22,%20%22USDGBP%22,%20%22USDHUF%22,%20%22USDPLN%22,%20%22USDRON%22,%20%22USDSEK%22,%20%22USDCHF%22,%20%22USDNOK%22,%20%22USDHRK%22,%20%22USDRUB%22,%20%22USDTRY%22,%20%22USDAUD%22,%20%22USDBRL%22,%20%22USDCAD%22,%20%22USDCNY%22,%20%22USDHKD%22,%20%22USDIDR%22,%20%22USDILS%22,%20%22USDINR%22,%20%22USDKRW%22,%20%22USDMXN%22,%20%22USDMYR%22,%20%22USDNZD%22,%20%22USDPHP%22,%20%22USDSGD%22,%20%22USDTHB%22,%20%22USDZAR%22,%20%22USDISK%22)&env=store://datatables.org/alltableswithkeys";
$.get(url, function( data ) {
var ratesJSON = data['query']['results']['rate'];
console.log( "Data Loaded: " + data['query']['results']['rate'].length );
$('#example').DataTable( {
data: ratesJSON,
columns: [
{ data: "Name" },
{ data: "Rate" },
{ data: "Ask" },
{ data: "Bid." },
{ data: "Date" },
{ data: "Time" }
]
} );
});
});
以上工作正常。但是现在我需要每 30 秒重新加载 table (以及数据)。我可以使用 datatable reload 来实现吗?或者我应该使用 jQuery 重复整个过程?
我通过将代码重组为
使其工作 $(document).ready(function(){
var table = $('#example').DataTable( {
//data: ratesJSON,
columns: [
{ data: "Name" },
{ data: "Rate" },
{ data: "Ask" },
{ data: "Bid." },
{ data: "Date" },
{ data: "Time" }
],
ajax : {
url: "http://query.yahooapis.com/v1/public/yql?format=json&q=select%20*%20from%20yahoo.finance.xchange%20where%20pair%20in%20(%22USDEUR%22,%20%22USDJPY%22,%20%22USDBGN%22,%20%22USDCZK%22,%20%22USDDKK%22,%20%22USDGBP%22,%20%22USDHUF%22,%20%22USDPLN%22,%20%22USDRON%22,%20%22USDSEK%22,%20%22USDCHF%22,%20%22USDNOK%22,%20%22USDHRK%22,%20%22USDRUB%22,%20%22USDTRY%22,%20%22USDAUD%22,%20%22USDBRL%22,%20%22USDCAD%22,%20%22USDCNY%22,%20%22USDHKD%22,%20%22USDIDR%22,%20%22USDILS%22,%20%22USDINR%22,%20%22USDKRW%22,%20%22USDMXN%22,%20%22USDMYR%22,%20%22USDNZD%22,%20%22USDPHP%22,%20%22USDSGD%22,%20%22USDTHB%22,%20%22USDZAR%22,%20%22USDISK%22)&env=store://datatables.org/alltableswithkeys",
dataSrc: function ( json ) {
return json['query']['results']['rate'];
}
}
} );
setInterval( function () {
table.ajax.reload();
}, 3000 );
});