express.static =>Web 服务器的静态档案置於 public 资料夹 中介城市
use => 挂中介城市
app.use( express.static( "public" ) );
Model = Data (後端)
View = UI (前端) <% %>
Cont roller = Program(使用者请求) (後端)
<% ejs %>
npm install ejs
程序码:
//不可更动 set(代号,变成ejs)
app.set('view engine','ejs')
//指令输入 网址 显示内容
app.get("/test",function(req,res){
//render 搭配 app.set('view engine','ejs')
res.render("lab",{
})
环境:
Error: Failed to lookup view "lab,{}" in views directory "C:\XXX\Node.js\lab0810express\views"
创资料夹views 建立 .ejs
资料在views内才抓地到
res.render("lab",{ // /member/lab
userName: "王晓明",
twoLines: "<script>alert('ok');</script>",
twoLines2: "123<br>123",
scoreList: [100, 90, 59, 100]} )
<% %> 流程控制标签 for while ...
<% if (userName == "Guest") { %>
<a href="#">Login</a>
<% } else { %>
<a href="#">Member Center</a>
<% } %>
<%= %> 输出标签(必要时.转译HTML符号)
<%= userName %><br />
<%= Date(); %> <br />
<%- %> 输出标签(不会转译HTML符号) ==> 使用到HTML、js用
注意,怕资安问题,小心使用
<%- twoLines %>
<%- twoLines2 %>
<%# %> 注释标签
页首(标题导览)
<%- include() %>
内容
<%= %>
页尾
<%- include(footer) %>
<%- include("../shared/footer.txt") %>
ex:
http://localhost:3000/test?id=3
?id=3为使用者输入
app.get("/test", function (req, res) {
// 如果找不到ID输出
if (typeof req.query.id === "undefined") { //req.query.id 请求把id处理给我
res.send("ID找不到"); //res回应找不到
}
else {
res.send(req.query.id); //依照此处案例:3
}
})
app.use(express.urlencoded({extended:true})); //搭配body.userName;
app.post("/testPost",function(req,res){
var data = req.body.userName;
//抓index.html的body 抓不到
//前面要增加urlencoded物件才抓的到body
res.send("我抓到了" + data);
})
https://www.postman.com/downloads/
测试程序用
不用注册会员 > SKIP
app.get("/test", function (req, res)
<<: [WMX3] 5.Start/Stop Communication
今天会是比较划水的回忆篇,可以斟酌看看。 这周开始正式学习 javascript,然後那时候疫情还没...
今天将会介绍简易的todo list 功能 新增事项(push将输入值放入阵列) Enter加入资料...
前言:资料结构的部分已经到了尾声,今天就要开始初探演算法的搜寻了!间天介绍的这两个搜寻法都是始於入门...
Coroutine 中如果要执行非同步程序,则需要把耗时任务写在 suspend 函式中,并且在一个...
前言 我们现在画面都已经跟Iphone内建的闹钟一样了,但虚有其表是不行的, 马上来实作TableV...