暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Node基础和 Express 开发框架:「09] 从客户端获取查询参数输入

路条编程 2021-12-19
387



这一系列课程将介绍 Express 框架, Express 框架不包括在 Node.js 内,是另一个常用的模块。Express 在创建的服务器之间运行 Node.js 和 web 应用程序的前端页。Express 还处理应用程序的路由。路由根据用户与应用程序的交互将用户导向正确的页面。虽然使用 Express 还有其他选择,但它的简单性使它成为学习由 Express 支持的后端和 Node.js 前端之间的交互的一个很好的起点 。
从客户端获取查询参数输入

从客户端获取输入的另一种常见方式是使用查询字符串对路由路径中的数据进行编码。查询字符串使用标记 (?) 分隔,并且包含一对 field=value。每一对键值使用符号 (&) 分隔。Express 能够从查询字符串中分析这些数据,并且把它放到 req.query 对象中。有些字符不能在出现在 URL 中,它们在发送前必须以不同的格式进行编码。如果我们使用来自 JavaScript 的 API,我们可以使用特定的方法来编码 / 解码这些字符。

route_path: '/library'
actual_request_URL: '/library?userId=546&bookId=6754'
req.query: {userId: '546', bookId: '6754'}
复制

构建一个 API ,使用路由挂载 GET /name。使用一个 JSON 文件来响应,它的结构是这样的:{ name: '路条编程'}。名字和姓氏参数应该编码在查询参数中,举个例子:?first=路条&last=编程.

提示: 在下面的练习中,我们将从相同的 /name 路由路径中 POST 请求接收数据。如果我们愿意,我们可以使用 app.route(path).get(handler).post(handler)这中写法,此语法允许我们在同一路径路由上链接不同的 HTTP 动词处理函数。可以节省一点打字时间,并且可以让代码看起来更清晰。

完整代码如下所示:

app.get("/name", function(req, res) {
var firstName = req.query.first;
var lastName = req.query.last;

  var { first: firstName, last: lastName } = req.query;


res.json({
name: `${firstName} ${lastName}`
});
});
复制

今天就讲到这里,如果有问题需要咨询,大家可以直接留言或扫下方二维码关注公众号。也可以添加 happyzjp 微信受邀加入学习社群,我们会尽力为你解答。练习网站已经正式上线,大家可以登陆网站 http://www.icoderoad.com 进行文章中示例的练习。
文章转载自路条编程,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论