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

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

后端用的是直接跑过的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的模板的返回数据。

用node研究axios前后端交互状态码规则的更多相关文章

  1. Node.js实现前后端交互——用户注册

    我之前写过一篇关于使用Node.js作为后端实现用户登陆的功能,现在再写一下node.js做后端实现简单的用户注册实例吧.另外需要说的是,上次有大佬提醒需要加密数据传输,不应该使用明文传输用户信息.在 ...

  2. Vue-CLI项目-axios模块前后端交互(类似ajax提交)

    08.31自我总结 Vue-CLI项目-axios前后端交互 一.模块的安装 npm install axios --save #--save可以不用写 二.配置main.js import axio ...

  3. Node之简单的前后端交互

    node是前端必学的一门技能,我们都知道node是用的js做后端,在学习node之前我们有必要明白node是如何实现前后端交互的. 这里写了一个简单的通过原生ajax与node实现的一个交互,刚刚学n ...

  4. 三、vue前后端交互(轻松入门vue)

    轻松入门vue系列 Vue前后端交互 六.Vue前后端交互 1. 前后端交互模式 2. Promise的相关概念和用法 Promise基本用法 then参数中的函数返回值 基于Promise处理多个A ...

  5. thinkphp+jquery+ajax前后端交互注册验证

    thinkphp+jquery+ajax前后端交互注册验证,界面如下 register.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1. ...

  6. Servlet实现前后端交互的原理及过程解析

    在日常调试项目时,总是利用tomcat去启动项目,并进行前后端联调,但对于前后端的请求响应的交互原理及过程并不是特别清晰. 为什么在前端发出相应请求,就能跳转到后端通过程序得到结果再响应到前端页面呢? ...

  7. nodejs实现前后端交互

    本人nodejs入门级选手,站在巨人(文殊)的肩膀上学习了一些相关知识,有幸在项目中使用nodejs实现了前后端交互,因此,将整个交互过程记录下来,方便以后学习. 本文从宏观讲述nodejs实现前后端 ...

  8. ajax学习----json,前后端交互,ajax

    json <script> var obj = {"name": "xiaopo","age": 18,"gender ...

  9. 前后端分类状态下SpringSecurity的玩法

    前后端分离状态下,后端SpringSecurity该如何变动呢? 如何变动取决于前后端分离状态下,前后端交互的特点,纯json交互,闲言少叙,上干货 主配置类 @Configuration @Enab ...

随机推荐

  1. 【POJ2832 】【Tyvj1460】【 7.22Test 】询问

    几种版本的题面 Description You are given an undirected graph G with N vertices and M edges. Each edge has a ...

  2. Json对象与Json字符串的转化、JSON字符串与Java对象的转换(转)

    一.Json对象与Json字符串的转化 1.jQuery插件支持的转换方式: $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符 ...

  3. ORM框架学习之EF

    首先推荐一篇很好的EF文章翻译,可以系统的学习一遍. <Entity Framework 6 Recipes>中文翻译系列 EF使用体会 优点: 可以省去Ado.net复杂的管道连接代码. ...

  4. 第四篇 HTTP请求返回状态码收集及解释

    [转载]https://blog.csdn.net/wangsen2235068/article/details/8081274 当用户试图通过 HTTP 访问一台正在运行 Internet 信息服务 ...

  5. Andorid Studio 模块化开发相关配置

    Andorid Studio 模块化开发相关配置 下面以宿主APP模块和Uer_Module模块为例: 第一步:在项目根目录gradle.properties配置文件中添加如下代码 isNeedUse ...

  6. NO--16 vue之父子组件传值

    先创建项目并运行 vue init webpack-simple templatecd templatenpm inpm run dev 一.子组件访问父组件的数据 方式一 :子组件直接访问父组件的数 ...

  7. [算法总结] 20 道题搞定 BAT 面试——二叉树

    本文首发于我的个人博客:尾尾部落 0. 几个概念 完全二叉树:若二叉树的高度是h,除第h层之外,其他(1~h-1)层的节点数都达到了最大个数,并且第h层的节点都连续的集中在最左边.想到点什么没?实际上 ...

  8. PHPCMS 栏目添加字段和修改描述textarea变成fceditor编辑器

    一.添加字段方法: 1. 添加数据库字段:description1,添加位置:v9_catetory表 找到phpcms/moudles/admin/templates/category_add.tp ...

  9. 【Unity Shader】Shader基础

    目录 Chapter3 Unity Shader 基础 Chapter3 Unity Shader 基础 概述 在Unity需要材质(Material)与Unity Shader配合使用来达到满意的效 ...

  10. 高可用OpenStack(Queen版)集群-15.Glance&Cinder集成Ceph

    参考文档: Install-guide:https://docs.openstack.org/install-guide/ OpenStack High Availability Guide:http ...