我正在使用Windows 8应用并首次使用JavaScript。直到现在我还没有遇到任何重大问题。 以下函数发出请求并获取JSON对象。比较我从浏览器和调试器得到的结果在第一个请求中一切正常。 之后,似乎服务器总是返回相同的值,但情况并非如此
(function () {
"use strict";
function getPrice(currency) {
var url;
switch(currency) {
case "usd":
url = urlUSD;
break;
case "eur":
url = urlEUR;
break;
case "gbp":
url = urlGBP;
break;
}
WinJS.xhr({ url: url }).then(
function (response) {
var json = JSON.parse(response.responseText);
switch(currency) {
case "usd":
console.log(json.data);
sharedData.usd = parseFloat(json.data);
console.log(sharedData.usd);
break;
case "eur":
console.log(json.data);
sharedData.eur = parseFloat(json.data);
console.log(sharedData.eur);
break;
case "gbp":
console.log(json.data);
sharedData.gbp = parseFloat(json.data);
console.log(sharedData.gbp);
break;
}
},
function (error) { console.log(error); },
function (progress) { }
);
}
调用函数
(function () {
"use strict";
function onTimer() {
Exchanges.getPrices("usd");
setTimeout(onTimer, 1000*60);
}
setTimeout(onTimer, 1000);
})();
答案 0 :(得分:0)
有许多技术可以处理缓存问题。我已经使用了向url添加timestamp参数的技术来解决这个问题。
var timestamp = Date.now();
url += '?' + 'timestamp=' + timestamp;