【发布时间】:2017-01-30 17:39:30
【问题描述】:
我是 Angular 的新手,并且在使用始终有效的服务时遇到了麻烦,直到它没有。我的服务有以下调用。
this.getForms = function() {
return $http.get("/forms").
then(function(response) {
return response;
}, function(response) {
alert("Error finding forms.");
});
};
当页面刷新 (safari) 时触发 getForms,调用 $http.get,我的 Node.js/Express 服务器表单端点正确返回表单数据。
app.get("/forms", function (req, res) {
Form.find({}, function (err, docs) {
if (err) {
server.handleError(res, err.message, "Failed to get forms.");
} else {
res.status(200).json(docs);
}
});
});
但是我得到一个 304 错误,而不是 JSON,这表明数据在缓存中可用。但是 304 响应头有一个空的数据字符串,所以它没有从缓存中返回任何数据。
我的问题是
1) 如果数据在缓存中可用,为什么它会调用我的服务器?
2) 如何告诉它不要缓存此调用,以便页面可以正确更新表单?
【问题讨论】:
标签: javascript angularjs node.js caching safari