本人nodejs入门级选手,站在巨人(文殊)的肩膀上学习了一些相关知识,有幸在项目中使用nodejs实现了前后端交互,因此,将整个交互过程记录下来,方便以后学习。
本文从宏观讲述nodejs实现前后端交互过程,以及该过程中每一个部分如何起到其相应的作用,并没有对每一个部分详细阐述,因为每一个部分都可以作为一个独立的知识点,本文只将项目中用到的知识点进行总结。
前后端交互主要包括3个部分,前端页面、后端服务器、以及数据库,它们之间的关系及整个请求过程如下图所示:
其中重点在于服务器部分,它需要实现以下功能:解决跨域,解析post及get参数,与数据库建立连接,执行sql,获取数据 or 更新操作,断开连接,处理异常,将结果返回。以下将对该部分进行详细说明。
简单说明nodejs server需要依赖的几个重要模块:
1. express:
nodejs的Web应用框架,如下创建一个基本的express程序
var express = require('express'); var app = express(); app.get('/', function(req, res){ res.send('hello world'); }); app.listen(8181);
2. bodyParser:
express默认使用的模块,用于解析http请求,
app.use(bodyParser.urlencoded({ extended: false }));//用于解析req.body数据
3. mysql:
nodejs需要依赖的数据库模块。
解决跨域请求
app.all('*', function(req, res, next) { //允许的来源 res.header(