ajax课2JSON
1.ajax优点:
a.页面无刷新
b.用户体验度较好,不会打断用户操作
c.按需求获取数据,不需要返回一个完整的页面
d.是标准的技术,不需要安装任何的插件
应用场景:注册、表格数据的增删改
2.JSON(javascript object motation js对象声明)
是一种轻量级的数据交换标准,一般用于浏览器与服务器的数据交换
数据交换:
将数据转换成中间的,与平台无关的格式数据
轻量级:解析速度比xml快,相对于xml而言,编写方便别情解析速度较快
JSON语法:
{key:value,key:value...}
1)使用json表示单个js对象
{"name":"zs","age":10}
属性名需要加"",属性值如果是string类型需要加"",数值类型则不需要加""
js类型:string,number,boolean,object,null,undefind (只有string需要加"")
2)使用json表示js数组对象
[{key:value},{key:value},{key:value}...]
3.java对象转成json对象
a.单个对象
JSONObject.formObject(obj).toString();
b.多个对象(集合,数组)
JSONArray.fromObject(obj).toString();
注:如果是Map,建议调用JSONObject转换成数据格式
package test; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map; import net.sf.json.JSONArray;
import net.sf.json.JSONObject; import org.junit.Test; import entity.User; public class UestJSON {
@Test
public void test1(){
User u=new User("账单",10);
String data= JSONObject.fromObject(u).toString();
System.out.println(data);
} @Test
public void test2(){
List<User> list=new ArrayList<User>();
User u1=new User("张龙",10);
User u2=new User("张虎",23);
list.add(u1);
list.add(u2);
String data=JSONArray.fromObject(list).toString();
System.out.println(data);
} @Test
public void test3(){
User u1=new User("张龙",10);
User u2=new User("张虎",23);
User[] us={u1,u2};
String data=JSONArray.fromObject(us).toString();
System.out.println(data);
} @Test
public void test4(){
Map<String,Object> map=new HashMap<String,Object>();
User u1=new User("张龙",10);
User u2=new User("张虎",23);
map.put("u1",u1);
map.put("u2",u2);
String data=JSONObject.fromObject(map).toString();
System.out.println(data);
}
}
4.json字符串转成js对象
evalJSON()-->proptotype.js
5.jQuery对ajax的支持
{key:value...}
$.ajax({options});
url:请求地址
type:请求方式get/post
data:参数{"value":"js"}或者"value=js",
dataType:服务器返回的数据类型 json,xml,js,html,text等等
success:成功的回调函数
function(data,txt){
//data:服务器返回的数据
//txt:状态描述信息
},
error:失败的回调函数
function(xhr,txt){
//xhr:ajax对象
//txt:状态描述信息
},
简写:$.get(url,[data],[callback],[type]);
$.post(url,[data],[callback],[type]);
url:请求地址
data:请求参数
callback:成功的回调函数
type:服务器返回的数据类型
6.热卖商品动态展示(每隔5秒钟,向后台发一次请求)
step1.设计表
create table sale(id int primary key auto_increment,name varchar(30),qty int);
insert into sale values(null,'小米盒子',80);
insert into sale values(null,'小米手机',90);
insert into sale values(null,'小米路由',70);
insert into sale values(null,'小米台灯',85);
insert into sale values(null,'小米音响',80);
step2.定义实体类Sale
step3.定义DAO接口
List<Sale> findTop() throws Exception;
step4.定义DAO实现类
select*from sale order by qty desc limit 3;
step5.定义ActionServlet
step6.定义sale.html 写脚本,ajax向后台发请求
function f1(){ 使用ajax向服务器发请求(sale.do)};
function f2(){ setInterval(f1,5000)};
<body onload="f2();" >
ajax课2JSON的更多相关文章
- ajax课1 源码
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...
- CSS之表单元素
表单就是收集用户信息的,就是让用户填写的.选择的. 1 <div> 2 <h3>欢迎注册本网站&l ...
- HTML标签----图文详解(二)
HTML标签超详细的图文演示再来一波~~~ 如果还没有看过昨天的福利的,那可要抓紧喽,传送门:HTML标签----图文详解 本文主要内容 列表标签 表格标签 框架标签及内嵌框架<iframe&g ...
- css--小白入门篇1
一.引入 css用来描述html,学习css前我们先来学习html的基础标签的用法,再进入css的学习. 本教程面向小白对象,不会讲细枝末节深入的东西. 二.列表 列表有3种 2.1 无序列表 无序列 ...
- 01_互联网基本原理和HTML入门
从"上网"说开去 1.上网就是请求数据 老师现在进行一个互联网原理的整体感知的教学,你注意,整体感知中,一些具体的细节,可能令你没有安全感(很多的知识盲点).没有关系,老师进行的是 ...
- CodeIgniter框架入门教程——第三课 URL及ajax
本文转载自:http://www.softeng.cn/?p=74 这节课讲一下CI框架的路由规则,以及如何在CI框架下实现ajax功能. 首先,先介绍CI框架的路由规则,因为CI框架是在PHP的基础 ...
- 第三十六课:如何书写一个完整的ajax模块
本课主要教大家如何书写一个完整的ajax模块,讲解的代码主要跟ajax有关,而jQuery的ajax模块添加了Deferred异步编程的机制,因此对ajax的理解难度增大,还是忽略掉.但是我要讲解的代 ...
- 第三十五课:Ajax详解
一个完整的Ajax请求: var xhr = new (self.XMLHttpRequest || ActiveXObject)("Microsoft.XMLHTTP"); ...
- 手把手教你写电商爬虫-第三课 实战尚妆网AJAX请求处理和内容提取
版权声明:本文为博主原创文章,未经博主允许不得转载. 系列教程: 手把手教你写电商爬虫-第一课 找个软柿子捏捏 手把手教你写电商爬虫-第二课 实战尚妆网分页商品采集爬虫 看完两篇,相信大家已经从开始的 ...
随机推荐
- C语言工具:LCC-Win32+v3.0
LCC-Win32+v3.0(带汉化).rar 小巧精悍的工具 安装步骤: 1.先安装 LCC-Win32V3.0.exe 假如安装目录为:C:\lcc 2.再安装 LCC-Win32V3.0汉化补 ...
- maven中pom文件中name字段的作用
- MySQL知识小结
MySQL的知识面试中还是经常被问到的,简单的使用似乎无法达到面试官的要求,很多问题会关于Mysql存储引擎,所以这里还是需要系统学习一下Mysql的一些知识,面试过程中游刃有余. MySQL体系结构 ...
- mvn deploy命令上传包
需求:有的时候需要单独上传release jar包,因为存在工程代码在A内网SVN,Nexus在B内网.这种情况下使用VPN也无法解决Jar包发布的问题. 这个时候采取的方式只能是: 打出jar包 - ...
- 【CF891E】Lust 生成函数
[CF891E]Lust 题意:给你一个长度为n的序列$a_i$,对这个序列进行k次操作,每次随机选择一个1到n的数x,令$res+=\prod\limits_{i!=x}a_i$(一开始res=0) ...
- Adobe edge animate制作HTML5动画可视化工具(一)
Edge Animate for mac是Adobe最新出品的制作HTML5动画的可视化工具,简单的可以理解为HTML5版本的Flash Pro.在之后的文章中,我会逐一的介绍这款新的HTML5动画神 ...
- CentOS 6.8下更改Apache默认网站安装目录
首先,当我们搭建好LAMP环境后,Apache服务器默认的网站安装目录是/var/www/html 然而我们搭建项目时为了方便,我们是按照自己的意愿更改网站目录的 现在假设,按照意愿设定的网站目录为/ ...
- vs2010版本注释
转:http://www.cnblogs.com/chaselwang/p/3580839.html 关于Visual Studio 20**自动添加头部注释信息 作为一个万年潜水党,不关这一篇文章技 ...
- MatLab Load cv::Mat 导入数据
我们有时候在项目中需要将OpenCV中的cv::Mat导入MatLab进行分析与处理,那么如果把数据转过去呢,我们的做法是首先将cv::Mat导出为txt文件,或者是yml文件,请参见我之前的博客Wr ...
- postgresql----JSON类型和函数
postgresql支持两种json数据类型:json和jsonb,而两者唯一的区别在于效率,json是对输入的完整拷贝,使用时再去解析,所以它会保留输入的空格,重复键以及顺序等.而jsonb是解析输 ...