JQ笔记(jquery + ajax 入门)

来源:互联网 发布:喝酒的好处知乎 编辑:程序博客网 时间:2024/05/17 09:28
一、 rest服务构架


开发模式:分布式开发,跨域,前端需要两门技术(jq+ajax,json数据格式
Rest服务:开发人员只需要提供提交或者获取数据的api即可(应用接口,网络地址)聚合api,百度api,腾讯api..




二、 rest服务开发
1、简单的rest基于服务开发的图书借阅系统
1、创建工程
 根据项目开发参与人员进行分组,针对每组创建模块,模块内的架构,由负责该模块开发人员自行设定。
.2、分析业务
图书借阅:书籍借出与归还
(1) 划分模块:
1、 用户模块:张三
2、 书籍模块:李四
3、 借阅记录模块:王五
4、 管理员模块:那六
(2)理清业务(那些业务必须做,那些业务可以二期在开发)
1、用户模块:注册,登录,验证用户名是否存在,手机号注册,邮箱注册,修改个人资料,退出,修改密码,安全邮箱,密码找回
2、书籍模块:书籍的CRUD,借阅,归还,丢失,报废,上架,下架,入库
2.3、创建实体类
2.4、 根据业务创建业务接口:团队负责人(组长)
2.5、创建服务端口(api),并测试
2.6、创建页面访问(jq+ajax)
JQ:javascript的封装简化版,跨浏览器支持,提供页面动态效果
2.6.1 导入JQ:webcontent文件夹下
2.6.2 引入JQ
在html中 “/”表示站点根目录(不带项目名)
<script type="text/javascript" src="/book/jq/jquery-1.8.0.min.js"></script>
1. jq的节点操作
a) 节点:
i. 创建:$(“<节点标记></节点标记>”)  $("<h1></h1>");在节点中间不能写节点$("<h1><p></p></h1>")
ii. 获取: 
$(this):指的是当前对象
$(“节点标示”) 
1. $(“#节点id名”)
$("#main")
2. $(“.节点类名 ”)
$(".main")
3. $(“节点标记名”);
$("div")


b) text(“要显示的内容”),html(“要显示的内容”): 向节点赋值,t:文本,h:html代码
$("<h1></h1>").text("<p>haha</p>").appendTo($("#main"));
$("<h2></h2>").html("<p>haha</p>").appendTo($("#main"));
c) appendTo(节点对象):将当前节点添加到指定节点上。
$("<h1></h1>").text("<p>haha</p>").appendTo($(".main"));
$("<h2></h2>").html("<p>haha</p>").appendTo($(".main"));
d) 父节点.append(子节点):在父节点上添加子节点
var $h=$("<h1></h1>")
$h.text("hehe")
$("#main").append($h1);
2. 节点属性的操作
属性:在一个标签内除了标签名以外的,属性都是以:属性名=值 存在的
标签对象.attr(“属性名”,”属性值”),如果只写属性名标示获取该属性值,如果都写标示给属性赋值
a) 我们除了可以给节点添加已知属性,还可以自定义属性
b) 创建:标签对象.attr(“属性名”,”属性值”)
c) 获取:标签对象.attr(“属性名”)
<script type="text/javascript">
//$("<h1></h1>").text("<p>haha</p>").appendTo($(".main"));
//$("<h2></h2>").html("<p>haha</p>").appendTo($(".main"));
//var $h=$("<h1></h1>")
//$h.text("hehe")
//$("#main").append($h);
var $img=$("<img></img>");
var $btn1=$("#btn1");
var i=0;
$img.attr("src","/book/images/1.jpg").appendTo($("#main"))
function a(){
if(i%2==0){
$img.attr("src","/book/images/2.jpg");
//$btn1.text("变成美女")
}else{
$img.attr("src","/book/images/1.jpg")
//$btn1.text("变成猫咪")
}
i++;
}

</script>
3. 节点jq事件
Jq事件:指的是所有的html事件在jq中都以方法的形式存在,以匿名方法的形式使用(只用一次的方法我们通常都用匿名方法)。
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>

</head>
<body>
<div class="main" id="main" data="123">
<!--  <button onclick="a()" id="btn1">变成猫咪</button>-->
</div>
<div class="main">

</div>


<script type="text/javascript" src="/book/jq/jquery-1.8.0.min.js"></script>
<script type="text/javascript">
//$("<h1></h1>").text("<p>haha</p>").appendTo($(".main"));
//$("<h2></h2>").html("<p>haha</p>").appendTo($(".main"));
//var $h=$("<h1></h1>")
//$h.text("hehe")
//$("#main").append($h);
/*
var $img=$("<img></img>");
var $btn1=$("#btn1");
var i=0;
$img.attr("src","/book/images/1.jpg").appendTo($("#main"))
function a(){
if(i%2==0){
$img.attr("src","/book/images/2.jpg");
//$btn1.text("变成美女")
}else{
$img.attr("src","/book/images/1.jpg")
//$btn1.text("变成猫咪")
}
i++;
}*/

var $img=$("<img></img>");
$img.attr("src","/book/images/1.jpg").attr("data",2).appendTo($("#main"))
$img.click(function(){
var no=$img.attr("data");
$img.attr("src","/book/images/"+no+".jpg");
$img.attr("data",no<3?++no:1);
/*
if(no==1){
$img.attr("src","/book/images/2.jpg");
$img.attr("data","2");
}else{
$img.attr("src","/book/images/1.jpg");
$img.attr("data","1");
}
*/
})
</script>
</body>
</html>


4. setTimeout与setInterval
setTimeout:延时执行setTimeout(方法,时间)
setInterval:间隔执行setInterval (方法,时间)
5. jq+ajax
ajax:异步传输;
异步:在网页端在后台自动运行的程序,并不影响网页的正常使用
表单提交:如果return false表示阻止表单提交,这是表单将不在调用action后面的路径。
本章DEMO:
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<style type="text/css">
div{border: solid 1px #000}
</style>
</head>
<body>


<div class="reg" id="main" data="123">
<!--  <button onclick="a()" id="btn1">变成猫咪</button>-->
注册
<form>
用户名:<input name="username"><br>
密码:<input name="pwd"><br>
昵称:<input name="nick"><br>
<button >注册</button>
</form>
</div>
<div class="login" style="display: none">

登录
<form>
用户名:<input name="username"><br>
密码:<input name="pwd"><br>

<button >登录</button>
</form>
<button onclick="log()">新用户注册</button>
</div>


<script type="text/javascript" src="/book/jq/jquery-1.8.0.min.js"></script>
<script type="text/javascript">
function log(){
$(".login").css("display","none");
$(".reg").css("display","block");
}

//$("<h1></h1>").text("<p>haha</p>").appendTo($(".main"));
//$("<h2></h2>").html("<p>haha</p>").appendTo($(".main"));
//var $h=$("<h1></h1>")
//$h.text("hehe")
//$("#main").append($h);
/*
var $img=$("<img></img>");
var $btn1=$("#btn1");
var i=0;
$img.attr("src","/book/images/1.jpg").appendTo($("#main"))
function a(){
if(i%2==0){
$img.attr("src","/book/images/2.jpg");
//$btn1.text("变成美女")
}else{
$img.attr("src","/book/images/1.jpg")
//$btn1.text("变成猫咪")
}
i++;
}*/
/*
var $img=$("<img></img>");
$img.attr("src","/book/images/1.jpg").attr("data",2).appendTo($("#main"))

$img.click(function(){
var no=$img.attr("data");
$img.attr("src","/book/images/"+no+".jpg");
$img.attr("data",no<3?++no:1);

if(no==1){
$img.attr("src","/book/images/2.jpg");
$img.attr("data","2");
}else{
$img.attr("src","/book/images/1.jpg");
$img.attr("data","1");
}

})
*/
/*
$(function(){
$("<img></img>")
.attr("src","/book/images/1.jpg")
.attr("data",2)
.click(function(){
//alert(JSON.stringify(this))
var no=$(this).attr("data");
$(this).attr("src","/book/images/"+no+".jpg");
$(this).attr("data",no<3?++no:1);
})
.appendTo($("#main"))
})
*/

/*
var $img=$("<img></img>");
$img.attr("src","/book/images/1.jpg").attr("data",2).appendTo($("#main"))
setInterval(function(){
var no=$img.attr("data");
$img.attr("src","/book/images/"+no+".jpg");
$img.attr("data",no<3?++no:1);

},5000)
*/
//网页加载后执行方法中的内容
$(function(){
$("form").submit(function(){
//$("input[name=username]"):获取属性名(name)属性值(username)
var a=$("input[name=username]").val();
var b=$("input[name=pwd]").val();
var c=$("input[name=nick]").val();
var sendData={
'usrename':a,
'pwd':b,
'nick':c
}

$.ajax({
url:'/book/user/reg',
data:sendData,
success:function(data){
//alert(data);
if(data=="ok"){
//location.href='main.jsp'
$(".login").css("display","block");
$(".reg").css("display","none");
}else{
alert("注册失败")
}
},
error:function(a,b,c){
alert(c);
}

})
return false;
})



});


</script>
</body>
</html>





















0 0
原创粉丝点击