一、配置Node.js开发环境、express安装、ajax数据交互
下载node和npm或cnpm
这里就不演示如何下载了,具体可以看我上一篇的博客:https://mp.csdn.net/mdeditor/90038900#
配置Node.js开发环境、express安装
1、安装express框架
sudo npm install -g express
如果是window系统则不用加sudo
2、安装express命令工具
sudo npm install -g express-generator
3、生成express框架
express -e myexpress
4、安装依赖
cd myexpress
cnpm i
5、启动服务器
node ./bin/www
然后打开浏览器,访问http://localhost:3000
如果出现Welcome to Express
说明Express已经成功生成
ajax数据的简单交互
6、在public目录下创建一个index.html文件
因为生成的express默认路径就是去到public下面的index.html文件,后续会发怎样修改默认路径的博客
7、在routs目录下的index.js写个接口
router.post('/test',function (req,res,next) {
var aa = 100;
res.writeHead(200, { 'Content-Type': 'application/json' })
res.end(JSON.stringify(aa))
})
8、在index.html下写个请求接口
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<script type="text/javascript">
$.ajax({
url:'/test',
method:'post',
contentType:"application/json;charest=utf-8",
dataType:"json",
success:function (data) {
data += 10;
console.log(data);
}
});
</script>
重新跑下服务器,完成~
sequelize的初使用
安装
使用npm安装
前提:需要安装node
npm install --save sequelize
npm install --save mysql2
我用的数据库是mysql,可以根据需要进行安装
后台建立步骤
①连接数据库(config)–>②建立表与增删改查语句(model)–>③执行操作(routes
1、在config下连接数据库
var Sequelize = require("sequelize");
/**
* 连接指定类型的数据库
* host:数据库地址
* max:连接池最大连接数量
* min:连接池最小连接数量
* idle:每个线程最长等待时间
* @type {Sequelize}
*/
module.exports = new Sequelize('test1', 'root', 'root', {
host: 'localhost',
dialect: 'mysql',
pool: {
max: 5,
min: 0,
idle: 10000
}
});
2、在model下建表与数据库语句
var Sequelize = require("sequelize");
var db = require("../config/db");
var User = db.define('user', { //建user表
id: {
type: Sequelize.INTEGER,
primaryKey: true, //主键
autoIncrement: true //自增
},
email: { type: Sequelize.STRING },
mobile: { type: Sequelize.STRING,unique:true },
password: { type: Sequelize.TEXT('long') },
create_time: { type: Sequelize.DATE }
}, {
freezeTableName: true,//是否在数据库中创建复数表名,例如 users
timestamps: false//是否在数据库中创建 createAt 和 updateAt 字段
});
// 创建表,force 为 true 时会先执行 drop 再创建
var user = User.sync({ alert: true });
exports.addUser = function (email, mobile, password) { //新增数据
return User.create({
email: email,
mobile: mobile,
password: password
})
};
exports.findUserByName = function (email) { //查找数据
return User.findOne({
where: {
username: email
}
})
};
exports.updateInformation = function (id, Hportrait, name,company,address) { //更改数据
var pram = {
Hportrait: Hportrait,
name: name,
company: company,
address: address,
};
return User.update(
pram,{
where:{id:id}
}
);
};
//删除数据
User.destroy({
where:{
name:{
$like:'Zhang%'
}
}
}).then(function(result){
console.log('destroy user');
console.log(result);
});
3、在routes下执行操作
var express = require('express');
var fs = require('fs');
var path = require("path")
var formidable = require('formidable');
var router = express.Router();
var user = require('../model/user');
// var information = require('../model/information');
router.get('/getUser', function (req, res, next) {
var reqArg = req.query;
res.header("Content-Type", "application/json; charset=utf-8");//改变编码,才不会出现乱码
user.findUserByName(reqArg.name).then(function (user) { //调用user表方法
var json = {
statusCode: 1,
data: user
}
res.end(JSON.stringify(json));
})
});
使用sequelize框架的最大好处就是操作简单,数据库建错字段也容易修改