如果我运行下面的代码并取消注释"setEncoding"行,我收到以下错误:
/usr/local/test-server/test.js:78
res.setEncoding('utf8');
^
Run Code Online (Sandbox Code Playgroud)
TypeError:Object#没有方法'setEncoding'
没有那条线,一切都按预期工作 - 除了浏览器抱怨未声明的字符编码.
在文档,SO,GitHub问题列表或广泛的谷歌搜索中没有任何东西出现任何有用的东西.node.js版本是最新版本:0.8.6
var https = require('https');
var sslPrivateKey = fs.readFileSync('./pk.pem');
var sslCert = fs.readFileSync('./cert.pem');
var sslOpts = { key: sslPrivateKey, cert: sslCert };
var server = https.createServer(sslOpts, function(req, res) {
if ('GET' === req.method) {
res.writeHead(200, {'Content-Type': 'text/plain','charset': 'utf8'});
//res.setEncoding('utf8');
res.write('You are here' + "\n");
res.end();
}
}
server.listen(8080);
Run Code Online (Sandbox Code Playgroud)
类http.ServerResponse没有setEncoding方法.您尝试设置标题'charset',但'charset'是'Content-Type'标题的一部分.试试这个:
res.writeHead(200, {'Content-Type': 'text/plain; charset=utf8'});
Run Code Online (Sandbox Code Playgroud)
请记住,这只是客户关于如何解释内容的信息,而不是规则.
| 归档时间: |
|
| 查看次数: |
10259 次 |
| 最近记录: |