• 技术文章 >web前端 >js教程

    浅谈Nodejs获取参数的几种方法

    青灯夜游青灯夜游2021-02-22 17:55:43转载672
    Nodejs怎么获取请求中的参数?下面本篇文章给大家介绍一下Nodejs获取参数的四种方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

    相关推荐:《nodejs 教程

    NodeJs 取参的四种方法

    参考:https://my.oschina.net/u/2519530/blog/535309

    获取请求中的参数是每个web后台处理的必经之路,nodejs的 express框架 提供了四种方法来实现。

    首先介绍第一个req.body

    官方文档解释:
    Contains key-value pairs of data submitted in the request body. By default, it is undefined,
    and is populated when you use body-parsing middleware such as body-parser and multer.

    稍微翻译一下:包含了提交数据的键值对在请求的body中,默认是underfined,
    你可以用body-parser或者multer来解析body

    解析body不是nodejs默认提供的,你需要载入body-parser中间件才可以使用req.body

    此方法通常用来解析POST请求中的数据

    第二种是req.query

    官方文档解释:

    An object containing a property for each query string parameter in the route.
    If there is no query string, it is the empty object, {}.

    翻译一下:包含在路由中每个查询字符串参数属性的对象。如果没有,默认为{}

    有nodejs默认提供,无需载入中间件

    举例说明(官方摘抄):

    // GET /search?q=tobi+ferret
    req.query.q
    // => "tobi ferret"
    
    // GET /shoes?order=desc&shoe[color]=blue&shoe[type]=converse
    req.query.order
    // => "desc"
    req.query.shoe.color
    // => "blue"
    req.query.shoe.type
    // => "converse"

    此方法多适用于GET请求,解析GET里的参数

    第三种是 req.params

    官方文档:
    An object containing properties mapped to the named route “parameters”.
    For example, if you have the route /user/:name,
    then the “name” property is available as req.params.name. This object defaults to {}.

    翻译:包含映射到指定的路线“参数”属性的对象。
    例如,如果你有route/user/:name,那么“name”属性可作为req.params.name。
    该对象默认为{}。

    nodejs默认提供,无需载入其他中间件

    举例说明

    // GET /user/tj
    req.params.name
    // => "tj"

    多适用于restful风格url中的参数的解析

    req.query与req.params的区别

    req.params包含路由参数(在URL的路径部分),而req.query包含URL的查询参数(在URL的?后的参数)。

    最后一种req.param()

    此方法被弃用,请看官方解释

    Deprecated. Use either req.params, req.body or req.query, as applicable.
    翻译:被弃用,用其他三种方式替换

    更多编程相关知识,请访问:编程视频!!

    以上就是浅谈Nodejs获取参数的几种方法的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:csdn,如有侵犯,请联系admin@php.cn删除
    专题推荐:Nodejs
    上一篇:DOM节点和元素之间有什么区别 下一篇:Angular使用ngrx/store做状态管理
    VIP会员

    相关文章推荐

    • 如何使用Llama Logs显示和调试NodeJS错误?• 23个需要了解的十分有用的nodejs库(推荐)• 了解nodejs中的事件和事件循环• nodejs怎么实现对图片进行批量裁剪?• 详细了解Nodejs中的事件循环机制

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网