zoukankan      html  css  js  c++  java
  • 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();" >

  • 相关阅读:
    python unittest一个简单的实例
    解决python编码格式错误问题
    一个简便的方法,获取某个页面元素的Xpath值
    Xpath基础语法学习
    postman发送带cookie的http请求
    postman测试接口之POST提交本地文件数据
    使用Jmeter录制web脚本
    mac 之 jmeter下载、解压、启动
    第三方测评公司的一些基础理念
    jmeter简单的压测案例——访问百度并发5,持续请求15
  • 原文地址:https://www.cnblogs.com/yingyigongzi/p/9187098.html
Copyright © 2011-2022 走看看