ajax与json思维导图及知识点梳理

发布时间:2020-07-06 19:21:42 作者:dylan的账号
来源:网络 阅读:627

ajax与json思维导图及知识点梳理

ajax概述

应用场景

javaScript中使用ajax(理解)

原生ajax

入门案例

api详解

创建核心对象(XMLHttpRequest)

js代码  ------>  翻译器(js引擎)  -----> 被所有浏览器内置

ajax引擎对象被js引擎所包含

var xmlhttp; if (window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera, Safari   xmlhttp=new XMLHttpRequest();   }else{// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");   }

属性
常用方法

小结:

原生ajax使用方式:

1.创建核心引擎对象(XMLHttpRequest)

        // 复制

    2.编写回调函数(监听ajax引擎对象的状态变化)

        xmlhttp.onreadystatechange=function(){

        if(xmlhttp.readyState==4 && xmlhttp.status == 200){

// 获取响应结果信息,并处理信息

                xmlhttp.responseText; 

}

    }

3.设置请求方式和请求路径

// get请求携带参数拼接在请求路径后面 ?参数=值&参数=值

xmlhttp.open(method,url,[async]);

xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");

4.发送请求

// 参数格式: 参数=值&参数=值

// post请求携带的参数要想提交给服务器需要设置请求参数的mime类型

xmlhttp.send([post请求携带的参数]);

jQuery中使用ajax(★)

$.post(url,[params],fn,[type])

发送post请求

$.get(url,[params],fn,[type])

发送get请求

$.ajax({url,[settings]})

新增签名方式:

$.get({[settings]});
$.post([settings]);

json

xml:

作用:

配置文件

数据传递的载体  ----> json

概述:

格式:

javaScript中使用json

java对象转json串

List:

张三 李四 王五 赵六 田七

list转json: (json在java中以字符串的形式体现)

"['张三','李四'...]"

常见工具类
jsonlib
fastjson(阿里巴巴)
gson(google)
Jackson

开源免费的json转换工具,springmvc转换默认使用jackson

案例:

案例1-检测用户名是否已经被注册

需求分析:

在注册页面上,当用户在用户名的输入框中输入完用户后,失去焦点时发送ajax请求,校验该用户名是否存在.

    该用户名已存在:

提示: "该用户名已被占用"

    该用户名不存在:

提示: "✔"

 技术分析:

blur: 失去焦点事件

ajax:

$.post(url,params,function(data){},"json|text");

步骤分析:

前台:

提供注册页面,给用户名的输入框添加失去焦点事件

        输入框对象.blur(function(){

        // 发送ajax请求

        var url = "demo1";

        var params = {"username":"tom"};

            $.post(url,params,function(data){

            // 判断执行结果...

            },"text");

        });

后台:

web:

Demo1Servlet:

a.获取请求携带的参数信息: username

b.调用service处理业务逻辑

boolean flag = service.isRegister(username);

c.判断执行结果

            if(flag){

            // 当前用户名可以使用

            }else{

            // 用户名已被占用    

            }

service:

isRegister(username)

            {

                User user = dao.isRegister(username);

                return user == null ? true : false ;

            }

dao:

isRegister(username)

            {

                sql = "select * from user where username = ? ";

                user;

            }

案例2-异步自动填充

需求分析:

当用户在搜索框中输入关键字,键盘弹起时,获取用户输入的关键字,向服务器发送ajax请求,将匹配的热搜词展示到输入框下面.展示4条.

技术分析:

keyup: 键盘弹起事件

ajax:

步骤分析:

前台:

给搜索框添加键盘弹起事件:

搜索框对象.keyup(function(){

    // 发送ajax请求

    var url = "demo2";

        var params = {"keyWords":"t"};

            $.post(url,params,function(data){

            // 展示结果

            },"json");

});

后台:

web:

Demo2Servlet:

//a.获取用户输入的关键字

String keyWords = req....;

//b.调用service处理业务逻辑

List<Object> list = service.findKeyWords(keyWords);

//c.将执行结果写回给ajax请求

service:

findKeyWords(keyWords) 

            {

                return dao.findKeyWords(keyWords);

            }

dao:

findKeyWords(keyWords)

            {

                sql = "select name from user where name like ? limit 4 ";

                template.queryForList(sql,Object.class,"%"+keyWords+"%");

            }

总结:

前后端分离:

同步 + 异步


ajax:

JavaScript的ajax: 原生ajax

1.创建ajax引擎对象: XMLHttpRequest

2.编写监听ajax对象状态变化的函数

// 5.判断状态码处理响应结果

3.设置请求方式和请求路径

4.发送请求

jq:

$.post(url,params,function(data){},"text|json"); ★

$.get(url,params,function(data){},"text|json"); ★

    $.ajax({

url:url,

        type:"get|post",

        data:params,

        success:function(data){},

        dataType:"text|json"

    });

$.get({

url:url,

        data:params,

        success:function(data){},

        dataType:"text|json"

    });

$.post({

url:url,

        data:params,

        success:function(data){},

        dataType:"text|json"

    });

json: ★

格式:

json对象: {}

json数组: []

混合json: [] {}

将java对象转成json: ★

jackson:

new ObjectMapper()

            om.writeValueAsString(obj);




推荐阅读:
  1. jQuery思维导图梳理2
  2. jQuey基础思维导图梳理1

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

ajax j

上一篇:WSUS系列之四:组策略配置

下一篇:掌握android支持库

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》