JavaWeb_6-Ajax和JSON

Ajax(异步请求)全名(异步JavaScript和xml)

一、概念

image-20200811100429104

都是jQuery中发送异步请求的方法

image-20200811100544886

image-20200811100658386

二、应用

2.1 get请求

image-20200811102658449

给元素绑定事件

image-20200811102838131

失去焦点时发送请求,这种叫做异步请求

image-20200811103132125

注册

先根据opt判断是哪个页面,这样可以把同一类所有的异步请求写在一个servlet里面

image-20200811162927919

image-20200811162436689

用回调函数的参数来接收write的结果

image-20200811104300661

Ajax用的好,不用el和jstl

就是尽量通过html和ajax和json来做页面,不要用jsp

  • 完成注册里验证码的功能:

2.2post请求

使用js对象的方式

image-20200811114021683

2.3load

没有回调函数

异步请求:将获取的内容加载到每个元素内

image-20200811114350105

2.4 ajax(可读性会更好)

成功调用success;失败调用error

image-20200811115012365 image-20200811115212175

也可以修改为post请求

image-20200811115331970

三、JSON

3.1创建JSON对象

如果返回的是个对象, 数组,集合,或者自定义的数据怎么解析,则要用JSON

js中对象

image-20200811141014292

json格式 用来存储数据的一种格式,和js对象类似

里面的值:字符串,数字,数组,json格式数据

注意:属性必须加""

数组里可以再放对象

image-20200811141335489

3.2 解析JSON对象

1.获取属性两种方式

image-20200811141946481

2.属性为数组的话通过下标去获取

image-20200811142046770

应用:通过JSON的方式来制作下拉列表

获取导入的js文件

image-20200811143700437

html的select标签

image-20200811143219495

标签里添加省份信息

image-20200811143028462

绑定一个change事件

image-20200811143523676

3.2在后端如何返回一个JSON格式的数据

1.如何把数据转换为JSON格式

导入jar包,创建一个test包,进行测试

image-20200811144047454

自己创建JSON对象

image-20200811144410918

转换为toString,打印结果为JSON格式(最终都是字符串或数组)

image-20200811144354468

对象也可以往object里面放(不建议date直接往里丢,应该先转为字符串),对象名字相同时,会将他们合为一个数组

image-20200811144644110

可以直接转成JSON格式,区别是没有key,这种情况是当数据只有这个对象时可以这么做

image-20200811145029125

2.集合转换为JSON数组

image-20200811145249419

会转换为数组的格式

image-20200811145335656

image-20200811145344336

注意:要会各种转换格式和自己定义JSON格式(重点)

  1. List集合转换成json代码

List list = newArrayList();

list.add( “first” );

list.add( “second” );

JSONArray jsonArray2 =JSONArray.fromObject( list );

  1. Map集合转换成json代码

Map map = newHashMap();

map.put(“name”,“json”);

map.put(“bool”,Boolean.TRUE);

map.put(“int”, newInteger(1));

map.put(“arr”, new String[] {“a”, “b” });

map.put(“func”, “function(i){return this.arr[i]; }”);

JSONObject json =JSONObject.fromObject(map);

  1. Bean转换成json代码

JSONObject jsonObject =JSONObject.fromObject(new JsonBean());

  1. 数组转换成json代码

boolean[] boolArray = newboolean[] { true, false, true };

JSONArray jsonArray1 =JSONArray.fromObject(boolArray);

  1. 一般数据转换成json代码

JSONArray jsonArray3 =JSONArray.fromObject("[‘json’,‘is’,‘easy’]" );

四、应用

4.1 用get,post,load发送的请求要进行转换,否则默认为tex

image-20200811153202676t

image-20200811151704259

获取不到

image-20200811152744225

eval进行转换

image-20200811152830211

这样太麻烦,用dataType,默认为text,改为json

image-20200811152949957

4.2

用ajax和getJson发送的请求,可以直接去处理,不用进行转换

getJSON用的最多

进行字符串的拼接

image-20200811154815227

功能:

鼠标悬浮显示购物车列表

订单列表详情展示

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值