Ich arbeite an Knoten js Web-Anwendung und ich mache eine HTTP-Abfrage, die eine db Adresse und nimmt Daten über Abfrage.Wie Cache von http entfernen Get auf Knoten request js
Die http Get-Anfrage funktioniert gut auf Chrom, aber auf IE jeder get wird nicht aktualisiert, aber von einer Art Cache zurückgegeben. Das bewirkt, dass das Ergebnis der DB-Abfrage nicht aktualisiert wird (weil es aus dem Chache stammt).
Ich kann sehen, dass es von chache Form F12 Entwicklerwerkzeug in IE genommen wird:
Mein Code unten. Ich weiß, dass ich so etwas hinzufügen sollte:
res.setHeader("Cache-Control", "no-cache, no-store, must-revalidate");
auf meine Anfrage, aber ich denke, dass ich vielleicht an der falschen Stelle diese Zeile setzen beacuse die bekommen reuqest noch von chache genommen und gibt mir schlechtes Ergebnis ...
Client
$http.get('/users')
.success(function(data) {
$scope.usersNumber = data.length;
})
.error(function(data) {
console.log('Error: ' + data);
});
Server
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();
});
}
danke, versuchte es, aber ich bekomme immer noch Ergebnisse von chache – Matoy
Ich aktualisierte mit dem Pragma: No-Cache für HTTP/1.0-Clients. – randominstanceOfLivingThing
Hat es funktioniert? Ich fügte auch eine andere Technik hinzu, um Caching zu verhindern. – randominstanceOfLivingThing