zoukankan      html  css  js  c++  java
  • 用node研究axios前后端交互状态码规则

           研究状态码规则围绕我的脑袋有些时间了。

           加上最近比较不忙,开始了这方面的研究。

          后端用的是直接跑过的node框架,express。可以直接参考express官方网站:http://www.expressjs.com.cn/starter/generator.html,搞定express跑起来的问题。

          当然还有几本的express的目录结构。

          app.js内部部分代码。

    var indexRouter = require('./routes/index');
    var usersRouter = require('./routes/users');
    

      express是从app.js开始的然后,分发请求,前端的请求:axios的请求和来自url的直接请求。

           为了便于研究也为了进一步熟悉express,将express的默认试图引擎从pug替换为ejs。这个比较简单,百度有很多官方文档。

            请求之后分发。举个后端的例子:如果我用axios请求的是/users,在路由子文件回调函数中可以手动指定返回状态码以及返回内容:

    router.get('/', function(req, res, next) {
       res.status(200).send('测试');
    });
    

      实际上,后端是可以手动指定返回状态码的,当然返回内容也必须是可以的。

           都知道在前端axios分为两种状态也就是promise的resolve和reject。前者走then,后者走catch,测试发现后端手动返回的状态码:1xx,2xx走then,而

           其他3xx、4xx和5xx走的是catch。而错误信息则通过catch的默认参数,姑且叫err拿到,就挂在err.response上面。

           最后要说明的是如果前端输入的是一个错误链接或者后端报错,分别返回的是404和500,后端也是可以手动指定返回内容的。因为暂时对express还不是很熟悉,所以这个没有尝试出来,但是框架默认返回的是一个叫做error的模板的返回数据。

  • 相关阅读:
    java.lang.NoClassDefFoundError: sun/swing/plaf/synth/SynthIcon
    微信数据库解密--代码报错:未定义标识符 HMAC_CTX_init
    Windows家庭版组策略编辑
    Visual Studio x64 使用 .asm 文件
    某数据库管理软件离线注册分析
    EV剪辑分析
    ciscn_lonelywolf
    arm-pwn
    libc-2.32.so在orw上与其他版本的区别
    更新libc
  • 原文地址:https://www.cnblogs.com/zhensg123/p/10632386.html
Copyright © 2011-2022 走看看