Day19 NodeJS-Express IV

前一篇说明了Express中的样板引擎与样板的使用,是比较偏向前端的部份,今天的主题是前端和後端资料传递的那一块:Get方法请求的query string。

Query String

这边的Query String指的是透过Get方法提出请求时,以字串形式接在URL後面的请求内容,通常以?与URL分隔并以&区分请求参数,例如:localhost:2000?firstName=chw&lastName=k表示提出内容firstName为chw和lastName为k的请求。

实作看看

  1. 今天一样从前面的程序码来修改说明Query String的请求方法。
// 原始程序码
let express = require("express");
let app = express();
let port = process.env.PORT || 2000;

app.use("/assets", express.static(`${__dirname}/public`));
app.set("view engine", "ejs");

app.get("/job/:type", (req, res)=>{
  res.render("job", {TYPE: req.params.type});
});

app.listen(port);
  1. 由於Query String接续在URL後面,参数的取得方式跟URL中以:<参数名称>所提供的参数类似,都是透过req的属性可以取得,因此只要在get()方法里面的render()加上<变数名称>: req.query.<参数名称>,就可以存取Query String的参数,并透过变数传递给样板使用。
app.get("/job/:type", (req, res)=>{
  res.render("job", {TYPE: req.params.type, QSTR: req.query.qstr});
});
  1. 在前端页面也要加上可以显示参数内容的变数以确认效果。
<html>
  <head>
    <link href="/assets/style.css" type="text/css" rel="stylesheet" />
  </head>
  <body>
    <h1>Job: <%= TYPE %></h1>
    <!--加入显示Query String参数的内容-->
    <h2>Query String: <%= QSTR %></h2>	
  </body>
</html>
  1. 执行程序时,从浏览器提出localhost:2000/job/IT?qstr=1,Query String中的参数qstr的内容会在回应的页面中呈现,当qstr改变时内容也会跟着改变。

https://ithelp.ithome.com.tw/upload/images/20211004/20139980mIB0wCDuof.png

小结

今天先针对Get的请求方法与内容为主题,相较於Get的Query String,Post的资料传递可以有更多样的变化,也就是明天的主题~

参考资料

Learn and Understand NodeJS [课程]


<<:  30天零负担轻松学会制作APP介面及设计【DAY 25】

>>:  [DAY 29] Google 提供的图片转文字

[ JS个人笔记 ] 各种讨人厌的运算&转型案例—DAY2

特殊的数字 Infinity 系列: Infinity + Infinity // Infinity...

DAY 28 文章列表 - 2

对,他有两种版型:D 左侧的大图! 不知道为何大标都想加惊叹号XD 因为文章资料的内容太常用到了,所...

帐号申请

这次要介绍的是永丰金证券的 Shioaji API,所以第一步就是要先申请帐号,帐号分两个,一个是交...

企业资料通讯 第一周整理

网路是甚麽? 非常多的主机与设备连接起来,交换讯号,媒介可能是光纤、铜线、波(无线),设备间沟通的标...

Day 11 - Confusion Matrix 混淆矩阵-模型的好坏 (1)

如何验证正确率, 或如何辨别机器学习模型的好坏? 我们常使用Confusion Matrix[混淆矩...