在 Node 中渲染 HTML 字符串?
Render HTML string in Node?
好的,所以我已经下载了 Express,将端口设置为 process.env.PORT || 8080
,并将应用程序变量设置为 var app = express()
。现在,我想要完成的不是通过文件呈现 HTML,我可以通过字符串来呈现吗?
var html = "<!DOCTYPE html>\n<html>\n <head>\n </head>\n <body>\n <h1>Hello World!</h1>\n </body>\n</html>";
app.get('/',function(req,res){
res.render(html);
});
有没有办法做到这一点?
文档中指定的res.render
方法:渲染视图并将渲染的HTML字符串发送给客户端。所以你需要使用一个模板引擎,例如:jade,ejs, handlebars.. 但如果你的目的是只输出一些 html 你可以用 res.send
代替。
您可以使用字符串来完成,但您应该将调用转换为 Javascript 调用,这样网页上只会显示需要替换的部分。 Ajax 调用从控制器 a : res.send("This is a String)
返回到其客户端。在客户端,您可以将此 result
放在元素 innerHtml
中,然后您将拥有某种 SPA :-)
使用res.setHeader
设置HTTP Response Header
res.setHeader("Content-Type", "text/html")
res.send(`
<h1>Mock API</h1>
`)
好的,所以我已经下载了 Express,将端口设置为 process.env.PORT || 8080
,并将应用程序变量设置为 var app = express()
。现在,我想要完成的不是通过文件呈现 HTML,我可以通过字符串来呈现吗?
var html = "<!DOCTYPE html>\n<html>\n <head>\n </head>\n <body>\n <h1>Hello World!</h1>\n </body>\n</html>";
app.get('/',function(req,res){
res.render(html);
});
有没有办法做到这一点?
文档中指定的res.render
方法:渲染视图并将渲染的HTML字符串发送给客户端。所以你需要使用一个模板引擎,例如:jade,ejs, handlebars.. 但如果你的目的是只输出一些 html 你可以用 res.send
代替。
您可以使用字符串来完成,但您应该将调用转换为 Javascript 调用,这样网页上只会显示需要替换的部分。 Ajax 调用从控制器 a : res.send("This is a String)
返回到其客户端。在客户端,您可以将此 result
放在元素 innerHtml
中,然后您将拥有某种 SPA :-)
使用res.setHeader
设置HTTP Response Header
res.setHeader("Content-Type", "text/html")
res.send(`
<h1>Mock API</h1>
`)