28

私は次のものを持っています:

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へのリンクが原因で発生しました

4

3 に答える 3

46

res.type('json')今も機能し、他の人が言っているように、あなたは単に使用することができます
res.json({your: 'object'})

于 2016-10-23T20:43:50.750 に答える
24

このコードを試してください:

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を使用していると想定しています)

更新: Firefox3.6.xとライブHTTPヘッダーを使用して簡単なテストを行いました。アドオンの出力は次のとおりです。

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

試す前に、必ずキャッシュをクリアしてください。

于 2011-03-23T07:05:42.643 に答える
2

それ以外のres.send()

res.json()コンテンツタイプを自動的に設定するuseapplication/json

于 2018-02-05T09:53:15.477 に答える