为什么不表达

我有以下几点:

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);

Chrome中的网络标签显示它是text/plain 。 为什么不设置标题?

上面的代码工作正常,我的问题是由链接到旧版本的express-js引起的


res.type('json')现在也可以工作,正如其他人所说的,你可以简单地使用
res.json({your: 'object'})


试试这个代码:

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);

(我假设你使用的是最新版本的express,2.0.0)

更新:我刚刚使用Firefox 3.6.x和Live HTTP Headers进行了快速测试。 这是插件输出:

 HTTP/1.1 200 OK
 X-Powered-By: Express
 Content-Type: text/cache-manifest
 Connection: keep-alive
 Transfer-Encoding: chunked

确保在尝试之前清除缓存。


而不是res.send()

使用res.json()自动将content-type设置为application/json

链接地址: http://www.djcxy.com/p/60617.html

上一篇: Why isn't express

下一篇: lang add manifest file