2012-02-14 19 views
0

我嘗試res.render('mytemplate',data),在所有瀏覽器(Safari除外) iOS版),Safari不渲染,並顯示在純文本HTML,也有些頭信息:node.js,express.js - res.render在safari中不起作用,以純文本形式顯示html源文件

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.setHeader('content-type', 'text/html'); 
res.render('myTemplate', data); 

任何想法?

回答

1

解決它:

res.render(myTemplate, data, 
    function(err, rendered) { 
     // console.log(rendered); 
     res.writeHead(200, {'Content-Type': 'text/html'}); 
     res.end(rendered); 
    }); 

THX聆聽...

0

這只是一個想法,但事實上,它的Safari是抱怨,會不會是內容類型判斷標題全部是小寫,而不是正確的Content-Type?試試...

編輯:我看到你的其他答案,問題是200 OK ...

相關問題