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的更多相关文章

  1. ajax课1 源码

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  2. CSS之表单元素

    表单就是收集用户信息的,就是让用户填写的.选择的. 1                <div> 2                         <h3>欢迎注册本网站&l ...

  3. HTML标签----图文详解(二)

    HTML标签超详细的图文演示再来一波~~~ 如果还没有看过昨天的福利的,那可要抓紧喽,传送门:HTML标签----图文详解 本文主要内容 列表标签 表格标签 框架标签及内嵌框架<iframe&g ...

  4. css--小白入门篇1

    一.引入 css用来描述html,学习css前我们先来学习html的基础标签的用法,再进入css的学习. 本教程面向小白对象,不会讲细枝末节深入的东西. 二.列表 列表有3种 2.1 无序列表 无序列 ...

  5. 01_互联网基本原理和HTML入门

    从"上网"说开去 1.上网就是请求数据 老师现在进行一个互联网原理的整体感知的教学,你注意,整体感知中,一些具体的细节,可能令你没有安全感(很多的知识盲点).没有关系,老师进行的是 ...

  6. CodeIgniter框架入门教程——第三课 URL及ajax

    本文转载自:http://www.softeng.cn/?p=74 这节课讲一下CI框架的路由规则,以及如何在CI框架下实现ajax功能. 首先,先介绍CI框架的路由规则,因为CI框架是在PHP的基础 ...

  7. 第三十六课:如何书写一个完整的ajax模块

    本课主要教大家如何书写一个完整的ajax模块,讲解的代码主要跟ajax有关,而jQuery的ajax模块添加了Deferred异步编程的机制,因此对ajax的理解难度增大,还是忽略掉.但是我要讲解的代 ...

  8. 第三十五课:Ajax详解

    一个完整的Ajax请求: var xhr = new (self.XMLHttpRequest || ActiveXObject)("Microsoft.XMLHTTP");   ...

  9. 手把手教你写电商爬虫-第三课 实战尚妆网AJAX请求处理和内容提取

    版权声明:本文为博主原创文章,未经博主允许不得转载. 系列教程: 手把手教你写电商爬虫-第一课 找个软柿子捏捏 手把手教你写电商爬虫-第二课 实战尚妆网分页商品采集爬虫 看完两篇,相信大家已经从开始的 ...

随机推荐

  1. .NET中字符串split的C++实现

    void CustomVersion::split(const string &s, char delim, vector<string> &elems){ istring ...

  2. matlab中画系统零极点的方法

    写论文的时候由于需要画出系统的零极点图.但是之前不知道怎么用matlab画,今天研究了一下,拿出来和大家共享.所用到的matlab函数为zplane,matlab给出的解释如下: ZPLANE Z-p ...

  3. 大规模Elasticsearch集群管理心得

    转载:http://elasticsearch.cn/article/110 ElasticSearch目前在互联网公司主要用于两种应用场景,其一是用于构建业务的搜索功能模块且多是垂直领域的搜索,数据 ...

  4. iOS开发中id、NSObject *、id、instancetype四者有什么区别?

      在使用Objective-C语言进行iOS应用开发的时候,常常会涉及到id.NSObject *.id.instancetype这四个概念的使用,但这四者也是iOS初学者最易混淆的内容,下面小编看 ...

  5. iOS property中的strong 、weak、copy 、assign 、retain 、unsafe_unretained 与autoreleasing区别和作用详解

    iOS5中加入了新知识,就是ARC,其实我并不是很喜欢它,因为习惯了自己管理内存.但是学习还是很有必要的. 在iOS开发过程中,属性的定义往往与retain, assign, copy有关,我想大家都 ...

  6. jenkins之-----------在必要的时候并发构建

    jenkins支持在同一节点支持同任务并发,但存在形成报告时会覆盖相应的文件,查看官网后发现有介绍“在必要的时候并发构建” 大致意思就是:将此项勾选后,可以同时执行,执行在任务自己的workspace ...

  7. fis前端开发框架

    FIS是专为解决前端开发中自动化工具.性能优化.模块化框架.开发规范.代码部署.开发流程等问题的工具框架,相比gulp和grunt更傻瓜化,上手更容易,最近抽空学习了一下,分享一下心得. FIS官网: ...

  8. AngularJS初始(一)

    什么是AngularJs? angularjs是一个为动态WEB应用设计的结构框架.它能让你使用HTML作为模板语言,通过扩展HTML的语法,让你能更清楚.简洁地构建你的应用组件.它的创新点在于,利用 ...

  9. Thymeleaf 入门

    基本项目结构: Thymeleaf配置: spring.thymeleaf.mode=LEGACYHTML5 spring.thymeleaf.cache=false spring.thymeleaf ...

  10. React 属性和状态的一些总结

    一.属性 1.第一种使用方法:键值对 <ClaaNameA name = “Tom” /> <ClaaNameA name = {Tom} /> <ClaaNameA n ...