讓我儘可能簡化一下。我有一段代碼解析一個動態網站並檢索JSON對象。該網站每半小時更新其數據。所以,我有我的編程代碼的方式,它刷新使用在頁面刷新期間存儲數據
<meta http-equiv="refresh" content="1800" />
<script>
function requestCrossDomain(site, callback) {
if (!site) {
alert('No site was passed.');
return false;
}
var yql = 'http://query.yahooapis.com/v1/public/yql?q=' + encodeURIComponent('select * from html where url="' + site + '"') + '&format=xml&callback=?';
$.getJSON(yql, cbFunc);
function cbFunc(data) {
if (data.results[0]) {
data = data.results[0].replace(/<script[^>]*>[\s\S]*?<\/script>/gi, '');
window[callback](data);
} else throw new Error('Nothing returned from getJSON.');
}
}
var url = 'https://www.emcsg.com/marketdata/priceinformation';
requestCrossDomain(url, 'someFunction');
function someFunction(results){
var html = $(results);
var table_pre = html.find(".view72PeriodsWrapper").find(".previous");
var table_cur = html.find(".view72PeriodsWrapper").find(".current");
var table_fut = html.find(".view72PeriodsWrapper").find(".future");
var previous_tab = []
for (var i = 0; i < table_pre.length; i++) {
var previous = ($(table_pre[i])).html();
previous_tab.push(previous.split('<td>').join('').split('</td>'));
}
var current_tab = []
for (var i = 0; i < table_cur.length; i++) {
var current = ($(table_cur[i])).html();
current_tab.push(current.split('<td>').join('').split('</td>'));
}
var future_tab = []
for (var i = 0; i < table_fut.length; i++) {
var future = ($(table_fut[i])).html();
future_tab.push(future.split('<td>').join('').split('</td>'));
}
var jsonObject = JSON.stringify(previous_tab) ;
var jsonObject2 = JSON.stringify(current_tab);
var jsonObject3 = JSON.stringify(future_tab);
jsonObject = jsonObject.concat(jsonObject2, jsonObject3);
$('#json').text(jsonObject);
}
</script>
現在,因爲我的程序要運行像發言權,永遠,每次刷新程序每半小時,該數據被覆蓋。我想知道一種方法來存儲以前的數據,並將其附加到數組中以便連續刷新。
我試過通過本地存儲,但由於我的整個代碼設置爲每半小時重新運行一次,本地存儲在刷新期間也會被覆蓋。
現在,我如何存儲我的數據?
編輯:上傳了我的整個代碼
您能否顯示您的代碼? – Alexis
你在說什麼類型的程序?瀏覽器中的JavaScript,服務器上的Python,...? –
其在瀏覽器上的JS ..我現在將上傳我的代碼。 –