关键词不能为空

位置:白城汽车新闻网 > 汽车资讯 > Express框架之数据传输的坑,你知道吗?-express

Express框架之数据传输的坑,你知道吗?-express

作者:白城汽车新闻网
日期:2020-02-14 02:23:46
阅读:

Node.js作为一门全栈的语言,是完全可以用来写服务器端代码的,但是如果用原生的node来写会很麻烦,这就好比直接用Servlet来写Java的服务端代码一样,因此框架就诞生了

Express是一款基于Node.js的后台框架,可以用来写服务端的代码,而且其封装的API使用起来非常方便,按照官方文档的操作,可以快速的写出增删改查的代码。但是,在使用Express的时候也经常会出现一些坑,今天我就来总结几个

Express框架之数据传输的坑,你知道吗?

Express官网介绍

post方法接收数据

首先我们看下使用Express处理post请求的代码

Express框架之数据传输的坑,你知道吗?

Express处理post请求

当我们在页面上发送一个url为/about的post请求时,如果携带了参数,直接使用这种方式是不会接收到传递的参数的

  • 解决办法

在Express中使用body-parser模块,首先我们需要安装body-parser

Express框架之数据传输的坑,你知道吗?

安装body-parser模块

然后在express中使用,代码如下

Express框架之数据传输的坑,你知道吗?

引入body-parser

数据传输数据量过大

当发送post请求的时候如果传输的数据量过大,在Express端会直接报错,因为Express默认接收的数据量大小为1KB。

在这里举个例子,之前写的一篇文章《实用的Vue富文本编辑器vue-quill-editor》中,如果使用这个富文本编辑器编写文章,在插入图片的时候,会将图片转化为base64编码,这就意味着图片用base64编码后会直接发送给后端,大小很容易就超过1KB,这时候就必须要对Express进行处理了

  • 解决方法

主要针对base64编码的图片,自定义接收参数的大小,代码如下

Express框架之数据传输的坑,你知道吗?

自定义接收参数大小

Session保存用户信息

在服务端通常采用session来保存用户登录信息,在Java中可以通过request来获取session,而在Node.js中同样可以通过request来获取session

  • 使用方法

在这里我们要使用到express-session模块,首先我们需要安装它

Express框架之数据传输的坑,你知道吗?

安装express-session模块

然后在express中使用

Express框架之数据传输的坑,你知道吗?

在express中使用

在session中我们可以设置过期时间

将用户信息写入session也很简单,直接通过request就可以访问到session

Express框架之数据传输的坑,你知道吗?

写入session

总结

今天这篇文章主要总结了下Express的几个常见的坑,以及自己的一些总结,希望能对大家有用

白城汽车新闻网一直为网友的需求而努力相关推荐