路由模块(luyou.js)
else if (method == 'POST') {
// 只要是POST请求,则优先获取数据
// 后处理路由逻辑
var data = '';
request.on('data', function (che) {
data += che;
})
// 绑定end事件,监听数据接受完成
request.on('end', function () {
// console.log(data);
// 获取Post传输的数据
var post_data = querystring.parse(data);
// 路由判断
if (url_obj.pathname == '/upuser') {
// 调用业务层方法
yewu.upuser_post(url_obj.query.id, post_data, function (data) {
response.end(data);
});
}
})
}
业务模块(yewu.js)
upuser_post:function(id,data,callback){
// 调用数据模块修改用户信息
db.where('id='+id).update(data,function(changedRows){
// http服务器相应要求必须是字符串
callback(changedRows.toString());
})
}
数据库模块(db.js)
update:function(data,callback){
// 没where条件,则停止所有操作
if(this.where == undefined){
callback('error');
return;
}
// 拼接sql语句的set部分
var set = '';
for(v in data){
set += v +"='"+ data[v]+"',";
}
var sets = set.slice(0,set.length-1);
var sql = "UPDATE `users` SET "+sets + ' where '+ this.whe;
// console.log(sql);
this.whe = undefined;
connection.query(sql,function(error,res,fields){
// console.log(error)
// 返回受影响行数
callback(res.changedRows);
})
}