一、Ajax 二、JSON数据格式 三、Ajax+Jquery 四、分页的实现
一、Ajax概述
###<1>概述
###<2>组成
以XMLHttpRequest为核心,发送Ajax请求和接收处理结果
以javascript为语言基础
以XML/JSON作为数据的传输格式
以HTML和CSS作为页面的渲染
###<3>作用
局部刷新
异步请求
###<4>作用流程

###<5>实现步骤和核心的API
1. 创建XMLHttpRequest对象(浏览器的兼容性)
2. 调用open方法,创建一个ajax请求
3. 设定回调函数
onreadystatechange = 函数
5. 接收处理结果(判断请求和响应处理的状态)
responseText
responseXML
4. 调用send方法发送ajax请求
XMLHttpRequest:ajax引擎
open():创建Ajax请求
注意get:可以得到缓存中的数据
在URL后面添加唯一的标识
open("GET","TimeServlet?id="+new Date(),true);
注意post:添加HTTP HEAD
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
send():发送Ajax请求
post请求时发送请求数据:k=v&k1=v2&...
get请求时直接调用无参send()方法
onreadystatechange:绑定Ajax请求的回调函数
readyState属性值发生变化时,回调指定的回调函数
readyState :Ajax请求处理的状态
请求未初始化 : readystate = 0
请求正在发送 : readystate = 1
发送完毕 : readystate = 2
响应中 : readystate = 3
响应完成 : readystate = 4
status :服务器处理后HTTP CODE 状态码。
status=200 响应完成
status=404 资源找不到
status=500 服务器端发生错误
responseText :封装了服务器处理的字符串结果数据
responseXML :封装了服务器处理的XML结果数据
服务器响应的数据类型
String(JSON)
XML
# 二、JSON数据格式
###<1>概念
和语言没有关系的一种数据交换格式
实现前端和后台的数据交互
###<2>语法格式
对象:{}
对象数组:[{},{},{}]
属性和内容:key:value , key2:value2 ,...
###<3>解析json数据
在js中直接可以处理json对象
###<4>json转换
客户端 :处理json对象,可以直接操作
将json字符串转换成json对象
var jsonObj = JSON.parse(jsonStr)
var jsonObj = eval( "("+ jsonStr +")");
服务器 :
1.json对象转换成json字符串
借助第三方的工具包
JSONObject :将一个java对象转换成JSON对象,从JSON中获取json字符串
JSONObject obj = JSONObject.fromObject(java对象);
String str = obj.toString();
JSONArray :将一个java数组对象转换成JSON数组对象,从JSON数组对象中获取json字符串
JSONArray objArr = JSONArray.fromObject(java数组对象);
String str = objArr.toString();
2.json字符串转换成java对象
借助第三方的工具包
# 三、Jquery+Ajax
###<1>Jquery概念
对JS进行封装,简化代码量,js的框架
write less do more
###<2>使用步骤
1. 下载jquery.js脚本文件,添加到web项目(jquery.js / mini-jquery.js)
2. 在需要使用jquery的页面中,使用<script src=“url”></script>
3. 使用jquery进行各种操作
###<3>实践:登陆异步用户名校验
方式一:$.get(列数列表)
参数列表:url,[data],[callback],[type]
url:待载入页面的URL地址
data:待发送 Key/value 参数。
callback:载入成功时回调函数。
type:返回内容格式,xml, html, script, json, text, _default。
方式二:$.post(列数列表)
参数列表:url,[data],[callback],[type]
url:待载入页面的URL地址
data:待发送 Key/value 参数。
callback:载入成功时回调函数。
type:返回内容格式,xml, html, script, json, text, _default。
方式三:$.ajax(列数列表)
参数列表:
{
async:是否异步,true
data:待发送 Key/value 参数。
dataType:指定服务器返回的响应数据的类型。
type:请求的方式。
success: 响应成功后要执行的代码块,成功的回调函数
error: 响应失败的错误页面的回调函数
url:请求服务器的地址
}
例如:
$.ajax(
{ async:true,
data:"username="+obj.value,
dataType:"json",
success:function(data){
if(data.result==1){
document.getElementById("span").innerHTML = "用户名可以使用";
}else{
document.getElementById("span").innerHTML = "用户名以存在";
}
},
type:"POST",
url:"CheckUsername",
error:function(){
alert("错误");
}
}
);
# 四、分页
一、Ajax 二、JSON数据格式 三、Ajax+Jquery 四、分页的实现的更多相关文章
- Django--多对多表的创建、contentType、ajax、ajax传输json数据格式、ajax传输文件数据、 自定义分页器
MTV与MVC(了解): MTV模型(Django用的就是MTV): M:模型层(models.py) T:templates C:views MVC模型: M:模型层(models.py) V:视图 ...
- ajax使用json数据格式--无效的 JSON 基元
ajax使用json数据格式提交 一开始这么写的 var flobj = { UserId: userid, ForbidSDT: ForbidSDT, ForbidEDT: ForbidEDT } ...
- js进阶ajax读取json数据(ajax读取json和读取普通文本,和获取服务器返回数据(链接)都是一样的,在url处放上json文件的地址即可)
js进阶ajax读取json数据(ajax读取json和读取普通文本,和获取服务器返回数据(链接)都是一样的,在url处放上json文件的地址即可) 一.总结 ajax读取json和读取普通文本,和获 ...
- margin标记可以带一个、二个、三个、四个参数,各有不同的含义。
margin标记可以带一个.二个.三个.四个参数,各有不同的含义. margin: 20px;(上.下.左.右各20px.) margin: 20px 40px;(上.下20px:左.右40px.) ...
- {Django基础九之中间件} 一 前戏 二 中间件介绍 三 自定义中间件 四 中间件的执行流程 五 中间件版登陆认证
Django基础九之中间件 本节目录 一 前戏 二 中间件介绍 三 自定义中间件 四 中间件的执行流程 五 中间件版登陆认证 六 xxx 七 xxx 八 xxx 一 前戏 我们在前面的课程中已经学会了 ...
- { MySQL基础数据类型}一 介绍 二 数值类型 三 日期类型 四 字符串类型 五 枚举类型与集合类型
MySQL基础数据类型 阅读目录 一 介绍 二 数值类型 三 日期类型 四 字符串类型 五 枚举类型与集合类型 一 介绍 存储引擎决定了表的类型,而表内存放的数据也要有不同的类型,每种数据类型都有自己 ...
- Ajax,Json数据格式
同步和异步 同步现象:客户端发送请求到服务器端,当服务器返回响应之前,客户端都处于等待 卡死状态 异步现象:客户端发送请求到服务器端,无论服务器是否返回响应,客户端都可以随 意做其他事 ...
- Django中数据传输编码格式、ajax发送json数据、ajax发送文件、django序列化组件、ajax结合sweetalert做二次弹窗、批量增加数据
前后端传输数据的编码格式(contentType) 提交post请求的两种方式: form表单 ajax请求 前后端传输数据的编码格式 urlencoded formdata(form表单里的) ja ...
- python 全栈开发,Day75(Django与Ajax,文件上传,ajax发送json数据,基于Ajax的文件上传,SweetAlert插件)
昨日内容回顾 基于对象的跨表查询 正向查询:关联属性在A表中,所以A对象找关联B表数据,正向查询 反向查询:关联属性在A表中,所以B对象找A对象,反向查询 一对多: 按字段:xx book ----- ...
随机推荐
- list双向链表容器(常用的方法总结)
特别注意,由于list对象的结点并不要求在一段连续的内存中,所以,对于迭代器,只能通过++或者--的操作将迭代器移动到后继或者前驱结点元素处.而不能对迭代器进行+n或者-n的操作,这点与vector等 ...
- Netty 核心组件 Pipeline 源码分析(一)之剖析 pipeline 三巨头
目录大纲: 前言 ChannelPipeline | ChannelHandler | ChannelHandlerContext 三巨头介绍 三巨头编织过程(创建过程) ChannelPipelin ...
- PetaPoco源代码学习--1.使用的Attribute介绍
新版本的PetaPoco使用特性进行注解的形式来代替的老版本的映射类的形式.新版本中使用的特性主要包括以下几种: 名称 用途 TableNameAttribute Class 指定POCO实体类对 ...
- [日常] PHP与Mysql测试kill慢查询并检验PDO的错误模式
<?php try{ //1. pdo的错误模式,抛出异常,不记录到php的error日志,不影响代码继续运行, $opts=array( PDO::ATTR_ERRMODE => PDO ...
- mysql 中int类型字段unsigned和signed的探索
转自:http://www.0791quanquan.com/news_keji/topic_816453/ 探索一:正负数问题 拿tinyint字段来举例,unsigned后,字段的取值范围是0-2 ...
- LINQ to Objects系列(1)相关技术准备
LINQ to Objects是LINQ的一部分,是查询对象集合的一种语法.首先看一下LINQ的体系结构,这样对LINQ有一个大致的了解.如图. 第一篇文章主要是回顾一下学习LINQ to Objec ...
- oracle 11g 分区表创建(自动按年、月、日分区)
前言:工作中有一张表一年会增长100多万的数据,量虽然不大,可是表字段多,所以一年下来也会达到 1G,而且只增不改,故考虑使用分区表来提高查询性能,提高维护性. oracle 11g 支持自动分区,不 ...
- 使用memcache对wordpress优化,提速
环境: 一个本地开发环境 一个部署在虚拟机中( 虚拟机安装memcache缓存),然后用这个优化的版本跟本地开发环境对比. wordpress版本:4.9.5 php:5.6版本 1,首先在主题的fu ...
- PHP定界符<<<eof 使用
PHP是一个Web编程语言,在编程过程中难免会遇到用echo来输出大段的html和javascript脚本的情况,如果用传统的输出方法 ——按字符串输出的话,肯定要有大量的转义符来对字符串中的引号等特 ...
- Javascript 函数及其执行环境和作用域
函数在javascript中可以说是一等公民,也是最有意思的事情,javascript函数其实也是一个对象,是Function类型的实例.因此声明一个函数首先可以使用 Function构造函数: va ...