0

我正在开发一个 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);
})();
4

1 回答 1

0

有很多技术可以处理缓存问题。我过去曾使用向 url 添加时间戳参数的技术来解决此问题。

var timestamp = Date.now();
url += '?' + 'timestamp=' + timestamp;
于 2013-04-27T03:01:32.137 回答