上一篇内容小编和大家一起学习了基础的请求和响应对象,以及相关方法的简介,今天小编和大家一起深入学习下我们日常开发中会经常使用到的方法。


内容渲染大多数情况下,渲染内容用res.render。如果想写一个快速的测试页,也许你会用res.send。 你可以使用req.query得到查询字符串值,使用req.session得到会话值,或使用req.cookie/req.singedCookies得到cookies值。下面小编给大家讲下常见的内容渲染的方法:
基本用法显示view目录下的视图模板about

.get((reqres){
    res.()})
200以外的响应代码
.get((reqres){
   res.().()})
通过对象的形式给视图传值 
.get((reqres){
   res.({
       ::req..:req..:req.session.})})
没有布局的视图渲染
.get((reqres){
    res.({:})})
使用自定义布局渲染视图
.get((reqres){
   res.({:}) })
纯文本输出
.get((reqres){
    res.()res.()})
添加错误处理程序
.((errreqresnext){
   .(err.)res.()consle.(err.)res.()})
404处理程序
.((reqresnext){
    res.()res.()})


post请求关于HTTP协议里定义了4种常见的数据请求方法,分别是www-form-urlencoded,form-data,application/json,text/xml,Express 依赖 bodyParser 对请求的包体进行解析,默认支持:application/json, application/x-www-form-urlencoded, multipart/form-data。可惜对xml没有支持,需要自己代码来实现,下面将由小编给大家介绍下实现方式
www-form-urlencodedhttp默认的post请求是这种方式,我们经常写的表单请求就是这一种方式,node.js 下使用Express 如何接收这种提交方式.需要 body-parse中间件支持,通过require('body-parser')方法进行引用。接下来我们创建一个简单的路由,接收请求,具体代码如下:
.post((reqres) {
    .(req.)res.(req.)})

现在用postman(一个挺实用的请求模拟谷歌浏览器插件)模拟一个post请求,查看截图可以看到 200 状态,成功识别了请求参数并且返回来。

form-data 也是我们一个很常见的提交数据方式,和上面不同的是我们需要在form表单里需要有 enctype 标识。比如我们在上传文件的时候必须在form里包含enctype="multipart/form-data”这样的标识。如果要支持这种方式,我们需要引用中间件 connect-multiparty,官方地址 https://github.com/andrewrk/connect-multiparty,通过npm install connect-multiparty 进行安装中间件。使用也非常简单,具体代码如下:
= ()= ().post((reqres) {
    .(req.)res.(req.)})
由于postman没办法模拟图片提交,只能模拟参数提交同样能正常直接返回客户端,具体示意请查看下图跟我一起学NodeJS,基础篇(三)_java
application/json基于API接口开发的应用一般都会用这种方式,高效方便利用数据的处理。注意在http表单请求前,注明请求头为 content-type=application/json ,具体的示意代码如下:
.(.({: })).post((reqres) {
    .(req.)res.(req.)})
接下来我们用postman模拟JSON请求跟我一起学NodeJS,基础篇(三)_java_02
text/xml这种请求一般不是特别常见,body-parse默认也不解析这种数据格式。但是随着微信平台开发市场的火爆,这类需求也会经常遇到,小编刚开始用的时候也是不太适应,在Express中没有现成的好办法,我们只能通过自己写代码进行实现,我们可以把请求题参数按照字符串处理,然后使用 xml2json 包把字符串解析成json对象,这样问题就迎刃而解了。
首先我们需要通过 npm install xml2json 命令安装  xml2json 插件。然后利用req上定义的事件  data 来获取http请求流, end 事件结束请求流的处理。前提是我们http请求头必须是content-type=text/xml,具体相关的示意代码如下: 
=().post((reqres) {
    req.= ={}req.()req.((chunk) {
        req.+= chunk})req.(() {
        =.(req.)res.(.())})})
最后同样我们用postman模拟xml格式进行提交,然后返回成json格式输出到客户端,查看下图跟我一起学NodeJS,基础篇(三)_java_03
跟我一起学NodeJS,基础篇(三)_java_04今天的介绍就到这里,相信大家一定掌握了本篇的内容。理解本篇的内容十分重要,下面的内容小编将带着大家深入的学习表单处理、模板视图等...