Ich habe folgendes:
var express = require('express'),
app = express.createServer();
app.get("/offline.manifest", function(req, res){
res.contentType("text/cache-manifest");
res.end("CACHE MANIFEST");
});
app.listen(8561);
Die Registerkarte "Netzwerk" in Chrome gibt an, dass es text/plain
ist. Warum wird der Header nicht gesetzt?
Der obige Code funktioniert, meine Probleme wurden durch einen Link zu einer alten Version von Express-Js verursacht
res.type('json')
funktioniert jetzt auch und wie andere gesagt haben, können Sie einfach verwendenres.json({your: 'object'})
Versuchen Sie diesen Code:
var express = require('express'),
app = express.createServer();
app.get("/offline.manifest", function(req, res){
res.header("Content-Type", "text/cache-manifest");
res.end("CACHE MANIFEST");
});
app.listen(8561);
(Ich gehe davon aus, dass Sie die neueste Version von Express 2.0.0 verwenden.)
UPDATE: Ich habe gerade einen kurzen Test mit Firefox 3.6.x und Live HTTP Headers durchgeführt. Dies ist die Addons-Ausgabe:
HTTP/1.1 200 OK
X-Powered-By: Express
Content-Type: text/cache-manifest
Connection: keep-alive
Transfer-Encoding: chunked
Stellen Sie sicher, dass Sie den Cache leeren, bevor Sie es versuchen.
anstelle von res.send()
verwenden Sie res.json()
, wodurch der Inhaltstyp automatisch auf application/json
festgelegt wird.