我有javascript代码,它调用服务器来获取json,然后生成HTML并将其附加到body标签:
$.ajax({
url: '/myController/myJsonMethod',
type: 'POST',
data: JSON.stringify(requestData),
dataType: 'json',
contentType: 'application/json; charset=utf-8',
error: function (xhr) {
alert('Error: ' + xhr.statusText);
},
success: function (result) {
var myHTML='<div>'+result.text+'</div>'+.....
$( "body" ).append(myHTML);
},
async: true,
processData: false
});
此代码主要是静态的。 json结果的值在一年内改变了几次。有没有办法缓存页面的这个html部分?
答案 0 :(得分:0)
缓存生成的HTML几乎没有意义,因为它很简单。 有意义的是缓存实际的ajax请求,这是一个普通的http请求。
为此,正常点适用于请求结果的控制缓存。实际上,默认行为是这样的结果 被缓存,除非你采取了特殊的预防措施来防止这种情况。看一下您首先发送的http标头。
然而,这种策略存在一个问题:即使请求结果很少发生变化,仍然需要考虑在这种情况下实际发生的情况:如果您缓存请求,那么客户端无法看到更改,直到缓存已过时。