zoukankan      html  css  js  c++  java
  • Express中处理get,post请求以及Router路由

    Express是基于Nodejs平台的一个快速、开放、极简的web应用框架

    可以帮助我们快速的搭建后台服务器,快速的处理get请求、post请求......

    官网:http://www.expressjs.com.cn/

    下载:npm install express

    利用express快速搭建服务器:

    引入express: let express = require('express');

    创建应用程序: let app = express();

    监听端口号: app.listen(3000);

    当我们需要访问某一个目录的时候,此时就要对该目录进行静态化

    我们可以使用Express中唯一的一个中间件 static 方法实现目录的静态化

    中间件:处理请求的方法, 使用中间件用use方法

    例如:app.use("/web", express.static("./web"))

         第一个参数表示访问路径时,是否带有前缀,如果有第一个参数则输入路径时可以带上web这层目录

         app.use(express.static("./web"))

         没有第一个参数,就不要再加上被静态化的web这一层级

    Express中处理GET请求:

    在Express中处理GET请求的方式有两种: 1 通过app.get; 2 通过Router路由对象

    第一种:使用方式:app.get(path, callback)

      path: 请求的路径接口

      callback: 回调函数,有三个参数:

        第一个参数: req 请求对象

        第二个参数: res 响应对象

        第三个参数: next放行函数 :当对同一个函数,定义多个回调函数时,前一个接口的next方法必须执行

    GET请求中获取query数据:可以通过req.query直接获取上传的数据;req.query是Express对请求对象封装后的

     处理GET请求返回数据的三种方式:

      res.json({msg: "success"})      可以返回对象

      res.send({msg: "success"})  可以返回对象

      res.end("success")  只能返回字符串;end方法只能使用一次

      res.redirect([status], url)  重定向到url页面

    Express中处理POST请求

    在Express中处理post请求,同get请求使用方式一致

    app.post(path, callback)

      path: 请求的路径接口

      callback: 回调函数,有三个参数:

        第一个参数: req 请求对象

        第二个参数: res 响应对象

        第三个参数: next放行函数 :当对同一个函数,定义多个回调函数时,前一个接口的next方法必须执行

    获取post请求的数据:

    如果想要获取post请求传递的数据,则需要借助中间件body-parser之后还要进行配置

    配置:app.use(bodyParser.urlencoded({ extended: false }));   (urlencoded为表单格式提交)

    如果浏览器端提交的数据为JSON格式,则后端接收使用: app.use(bodyParser.json())

    然后就可以通过req.body来获取浏览器端提交的数据

     路由对象Router:

    Router是Express自带的构造函数,用于处理路由的,也可以通过路由对象处理各种请求

    使用方式:

      1通过Express获取路由模块 : let express = require("express");

      2 创建路由实例化对象,并配置路由:  let router = new express.Router();

      3 安装路由对象:  app.use(router);

    放行函数: 

    在Express中允许对一个接口,添加多个处理函数。在接口函数中的第三个参数就是next放行函数,该函数不执行,后面的回调函数就不会执行。

     

  • 相关阅读:
    js中“==”与“===”区别
    java中的除法及求余运算特殊性。
    oracle数据库查询历史某一时刻的表数据
    Java多线程总结(转载)
    I/O之Writer-Reader
    I/O之File
    MYSQL之內链接 左链接 右链接 区别
    ubuntu下编译boost
    linux下编译安装boost库
    搭建无线弱网测试环境
  • 原文地址:https://www.cnblogs.com/yess/p/14762233.html
Copyright © 2011-2022 走看看