jquery ajax 实例
**使用jquery ajax 实例:**
通过获取用户输入的信息在持久层增加数据怎样去实现,以及整个流程。
**使用ajsx实现数据库增加数据的操作步骤:**
首先准备好模块(node_modules)配置好服务服(app.js)
**持久层(dao)**:
表1:**database.js**(主要作用是和数据库建立连接)
表2:**UserDAO.js**(实现对数据的增,删,改,查)
表2代码:
var db = require("./database");
exports.add = function (data,func){
db.query("insert into t_users(u_name,u_pwd) values(?,?)",data,function(){
func();
})
};
增加数据:insert into
data就是用户在界面提供的信息,针对增加数据来说,只在表示层获取数据,业务层不进行逻辑操作,然后传到持久层,持久层再把数据增加到表名为t_users,字段名为u_name,u_pwd中,增加之后返回到业务层,再返回到表示层,可以给个提示给用户,也可以不给。再呈现给用户。
**业务层(Service)**:
表:UserService.js
代码:
var userDAO = require("../dao/UserDAO");
exports.reg = function(data,func){
userDAO.add(data,function(){
func();
})
};
**表示层(routes)**:
表:UserRoute.js
代码:
var express = require('express');
var router = express.Router();
var userService = require("../service/UserService");
router.post('/reg',function(req, res, next){
var data = [req.body.username,req.body.password];
userService.reg(data,function(){
res.send("注册成功,请登陆");
});
});
网页界面:
表:reg.html
<script src="js/jquery-1.11.3.min.js"></script>
<script>
$(function(){
$("input:button").click(function(){
if($("input[name=confirmPwd]").val() == $("input[name=password]").val()){
我用来验证输入的密码和确认密码的值必须一致。
$.ajax({
type:"post",
url:"/users/reg",
data: $("form").serialize(), data里的数据就是表单里name="username"、"password"的值。
success:function(data){
把数据传到持久层之后,从表示层得到服务器的信息。
alert(data);用弹出框显示注册成功,请登陆,然后跳转到登陆界面。
window.location = "./denglu.html";
}
})
}else{
$("input[name=confirmPwd]").next().html("两次输入的密码不一致,请重新输入!");
}
});
})
</script>
**服务器(app.js)**
针对不同的对象构建,其他代码一样,只需加两句,我这个例子,是针对用户的
var userRoute = require('./routes/UserRoute');
app.use('/users', userRoute);//针对用户