私はノードjs Webアプリケーションで作業していますが、dbをアドレス指定してクエリーを介してデータを取得するhttp get要求を行っています。ノードjsでhttpを取得するreqestからキャッシュを削除する方法
http get要求はChromeで問題なく動作していますが、IEではgetは更新されずに何らかのキャッシュから返されます。これにより、dbクエリの結果は更新されません(chacheから取得されます)。
私はそれはIEでchacheフォームF12開発者ツールから取られていることがわかります。以下
私のコード。私は、私のようなものを追加する必要があることを知っている:私の要求に
res.setHeader("Cache-Control", "no-cache, no-store, must-revalidate");
を私は、私は多分...まだchacheから取られ得るreuqest beacuse間違った場所にこのラインを入れて、私に悪い結果をもたらすと思い
クライアント
$http.get('/users')
.success(function(data) {
$scope.usersNumber = data.length;
})
.error(function(data) {
console.log('Error: ' + data);
});
サーバー
app.get('/users', function(req, res){
get_user(req, res);
});
var get_user= function(req, res){
var query= User_session.find();
query.exec(function(err, docs){
res.setHeader("Cache-Control", "no-cache, no-store, must-revalidate");
res.json(docs);
//mongoose.connection.close();
});
}
ありがとう、試しましたが、まだチャチから結果が得られています – Matoy
HTTP/1.0クライアントのプラグマ:no-cacheで更新しました。 – randominstanceOfLivingThing
それは機能しましたか?キャッシングを防ぐためのもう1つの手法も追加しました。 – randominstanceOfLivingThing