第8天_Ajax和BootStrap
第8天_Ajax和BootStrap
- 学习目标
- Ajax介绍
- Ajax使用
- BootStrap
- Ajax介绍
2.1 Ajax的概念
AJAX (阿贾克斯 Asynchronous Javascript And Xml ) 异步JavaScript和XML,是指一种创建交互式网页应用的网页开发技术, 可以访问服务器数据的局部刷新的技术. AJAX不是一种新的编程语言
2.2 Ajax的作用
允许客户端发送HTTP请求, 去异步请求服务器的数据来创建动态网页
2.3 前后端交互图
3.Ajax使用
3.1Ajax在JS中的使用
-
Ajax的核心
Ajax 技术核心是JavaScript对象XMLHttpRequest(简称XHR) -
创建XHR对象
var xhr = new XMLHttpRequest();
console.log(xhr); // XMLHttpRequest -
XMLHttpRequest对象的属性和方法XHR提供的方法:
open(): 准备好需要发送给服务器的内容.接收三个参数: 要发送的请求类型(get/post), 请求的URL和是否异步.如:
xhr.open(‘get’, ‘demo.json’, true); //URL为demo.json的get请求, true表示异步. - send(): 向服务器发送请求.
如: xhr.send(null);
XHR提供的属性:当请求发送到服务器端后, 服务器就会向客户端发送响应, 收到响应数据后, 响应的数据会自动填充XHR对象的属性. 一共有四个属性:
-
status: 响应的HTTP状态码
其中status属性: HTTP状态码, 一般我们只需要关心HTTP状态代码为200则表示请求服务器成功.
HTTP 状态码 状态字符串 说明
200 OK 服务器成功返回了页面
400 Bad Request 语法错误导致服务器不识别
401 Unauthorized 请求需要用户认证
404 Not found 指定的 URL 在服务器上找不到
500 Internal Server Error 服务器遇到意外错误,无法完成请求
503 ServiceUnavailable 由于服务器过载或维护导致无法完成请求
异步请求:
我们在实际项目开发中一般使用异步请求,使用异步调用的时候, 需要触发readystatechange事件, 然后检测readyState属性的值即可, readyState属性的值有5个, 最常用的是最后一个值:4, 表示已经接收到了全部响应数据.
值 状态 说明
0 未初始化 尚未调用 open()方法
1 启动 已经调用 open()方法,但尚未调用 send()方法
2 发送 已经调用 send()方法,但尚未接受响应
3 接受 已经接受到部分响应数据
4 完成 已经接受到全部响应数据
使用JS实现Ajax发送HTTP异步请求的代码
//创建xhr
var xhr = new XMLHttpRequest();
//使用open()方法, 设置true表示异步请求
xhr.open(‘get’, ‘demo.json’, true);
//向服务器发送请求
xhr.send(null);
//监听状态改变
xhr.onreadystatechange = function () {
if (xhr.readyState == 4) {
if (xhr.status == 200) {
console.log(xhr.responseText);
} else {
consolel.log('error状态码: ’ + xhr.status + ‘错误信息:’+ xhr.statusText);
}
}
};
练习:
使用Ajax异步请求person.json数据:
点击按钮加载person.json中的数据并显示在table表格中(默认表格中没有数据, 只有表格标题)
3.2 HTTP协议介绍
HTTP是一个属于应用层的面向对象的网络协议, 由于其简捷,快速的方式, 适用于分布式超媒体信息系统. HTTP协议的主要特点有:
- 支持客户端/服务端模式. 即请求(request)-响应(response)模式, 必须先请求才能得到响应, 服务器不能通过http协议直接发送数据给客户端
- 简单快速, 客户端向服务端发送请求时, 只需要传送请求方式和路径即可,所以简单, 由于HTTP协议简单, 使得HTTP服务器的程序规模小, 因而速度很快;
- 灵活, 传输数据类型种类多
- 无连接, 请求一次服务器后立刻断开连接, 即非长连接, 即短连接
- 无状态, HTTP协议对事务处理没有记忆能力;
- HTTP协议的常用请求方式: GET, POST
- HTTP包含: 请求头和请求体
3.3 jQuery实现Ajax发送异步请求
-
使用$.ajax()实现
$.ajax({
type: ‘GET’, // 请求方式, 默认是get
url: “json/person.json”, // 接口url
async: true, // 是否异步,默认是true,表示异步
data: {}, // 参数// 请求成功后的回调函数 success: function(res) { console.log(res) }, // 请求失败后的回调函数 error: function(e) { console.log(e) } })
-
使用$.get()实现
// 方式一
$.get(‘http://47.107.40.104/movies/?page=1’, function(res){
console.log(res)
})// 方式二 $.get('http://47.107.40.104/movies/', {page: 1}, function(res){ console.log(res) })
-
使用$.post()实现
$.post(‘http://47.107.40.104/register/’, {name: “lisi345”, pwd: ‘123456’}, function(res){
console.log(res)
})
示例: 分页获取豆瓣电影:
接口URL: http://47.107.40.104/movies/?page=1 参数说明: page为页码,从1开始 请求方式: GET
练习:
-
实现注册功能:
接口URL: http://47.107.40.104/register/
参数说明:
name=zhangsan, 用户名( 必须填写 )
pwd=123456, 密码( 必须填写 )
请求方式: POST -
实现登录功能:
接口URL: http://47.107.40.104/login/
参数说明:
name=zhangsan, 用户名( 必须填写 )
pwd=123456, 密码( 必须填写 )
请求方式: POST
4.BootStrap
参考官方文档使用
- 点赞
- 收藏
- 分享
- 文章举报
- 基于Servlet+JDBC+Bootstrap+MySQL+AJAX权限管理系统项目实战教程
- Bootstrap tab选项卡实现AJAX加载不同的JSP页面的方法
- AJAX动态加载chart(基于Bootstrap的chart.js)(原创)
- MVC遇上bootstrap后的ajax表单验证
- 基于SSM的RBAC权限系统(1)-利用ajax,bootstrap,ztree完成权限树功能
- jQuery+Ajax+Bootstrap学习干货(二)
- bootStrap table+ajax加载数据
- Bootstrap 分页插件 ajax获取数据显示
- Bootstrap Paginator分页插件+ajax 实现动态无刷新分页
- ajax分页效果(bootstrap模态框)
- ajax 实现加载页面、删除、查看详细信息,以及bootstrap网页的美化
- Springmvc Bootstrap Ajax项目
- 关于bootstrap验证表单如何ajax提交
- bootstrap+Ajax+SSM(maven搭建)表单增删改查
- Ajax+jQuery+bootstrap+Java实现异步点赞功能,并限制点击次数
- 使用Bootstrap的popover标签中嵌入插件,并且为插件注册事件实现Ajax与后台交互
- Bootstrap Tabs with AJAX snippet - SpDNq5bVl0
- 使用Bootstrap Tabs选项卡Ajax加载数据的实现以及遇到的问题;
- html、css/bootStrap、js/Jquery、ajax与json数据交互总结
- bootstrap modal ajax方式与jquery validate使用失效解决