win8: 确保 WinJS.xhr 重新发送请求

在做一个获取sina 公共微博的小小demo,在最后刷新时发现用winjs.xhr调用很快就会返回数据,但是返回的数据都是第一次的数据。这是因为load 的是同样的url,在访问web时会有cache,导致无法Reload。

check:http://msdn.microsoft.com/en-us/library/windows/apps/hh868281.aspx

 

通过使用 WinJS.xhr 请求 Web 资源时,可能会缓存响应,这意味着之后的请求将返回客户端计算上已存在的资源版本,而不是重新发送请求。但是,可以添加确保即使已经缓存也会再次发送请求的 HTTP 标头。

设置 If-Modified-Since HTTP 标头,该标头指定客户端应该重新发送请求以检查是否存在较新版本的资源。向 WinJS.xhr 函数添加 options 参数的 headers 属性的 If-Modified-Since 标头。有关 HTTP 响应标头的详细信息,请参阅 HTTP Response Headers

WinJS.xhr({ 
    url: "http://www.microsoft.com",
    headers: {
        "If-Modified-Since": "Mon, 27 Mar 1972 00:00:00 GMT"
    } })
    .done(function complete(result) {
        // Report download.
        xhrDiv.innerText = "Downloaded the page";
        xhrDiv.style.backgroundColor = "#00FF00";
});

 

 

posted on 2012-11-10 00:33  老Zhan  阅读(453)  评论(0)    收藏  举报