node.js,express.js-res.render在safari中不起作用,将html源代码显示为纯文本
我尝试res.render('mytemplate',data),在除Safari(包括iOS)之外的所有浏览器中都能正常工作,Safari不呈现并以纯文本显示html,还有一些标题信息:node.js,express.js-res.render在safari中不起作用,将html源代码显示为纯文本,node.js,safari,express,Node.js,Safari,Express,我尝试res.render('mytemplate',data),在除Safari(包括iOS)之外的所有浏览器中都能正常工作,Safari不呈现并以纯文本显示html,还有一些标题信息: HTTP/1.1 success unknown X-Powered-By: Express content-type: text/html Content-Length: 4489 Set-Cookie: connect.sid=pSY62z68tPe4TnQBLuhBPaVZ.Hd7o0jSkf%2F4A
HTTP/1.1 success unknown
X-Powered-By: Express
content-type: text/html
Content-Length: 4489
Set-Cookie: connect.sid=pSY62z68tPe4TnQBLuhBPaVZ.Hd7o0jSkf%2F4AztPcwxhwoWgeqbIggMBrRfRHV3L7G0g; path=/; expires=Tue, 14 Feb 2012 05:27:49 GMT; httpOnly
Connection: keep-alive
<!doctype html>
<!--[if lt IE 7]>
<html class="no-js ie6 oldie" lang="en"><![endif]-->
...
</html>
有什么想法吗?解决了它:
res.render(myTemplate, data,
function(err, rendered) {
// console.log(rendered);
res.writeHead(200, {'Content-Type': 'text/html'});
res.end(rendered);
});
thx for listing…这只是一个想法,但从Safari抱怨的事实来看,是不是内容类型标题都是小写的,而不是正确的
内容类型?试试看
编辑:我从你的另一个答案中看出问题是200 OK
res.render(myTemplate, data,
function(err, rendered) {
// console.log(rendered);
res.writeHead(200, {'Content-Type': 'text/html'});
res.end(rendered);
});