Json与AJAX

目录

json是什么?

对 @ResponseBody的理解

AJAX

是什么?

 AJAX请求

http协议:

get请求检查用户名是否存在

二级联动

关于pop.xml的更改

关于json与js对象之间的转换


json是什么?


json就是有格式的字符串
轻量级数据交换格式,是完全独立与编程语言的文本格式,存储和表示数据的,是一种简洁和清晰的层次结构

简单理解:除了数据以外只有一些标点,并且还可能存在大量标签,样式,js代码


js对象与json对象的区别,js对象没有单引号,而json对象一绿到底,即有单引号

json字符串里面不允许有单引号,即单引号里面不能再有单引号,霸道

对 @ResponseBody的理解

作用本质:把java对象转成json对象

@ResponseBody注解的作用是将controller的方法返回的对象通过适当的转换器转换成指定的格式,之后写到response对象的bady区中,通常用来返回json数据或者是xml数据。

注意,在使用此注解之后不会再走视图解析器,而是直接将数据写入到输入流中,等同于通过response对象输出指定格式的数据。

@ResponseBody是作用在方法上的,@ResponseBody表示该方法的返回结果直接写入HTTPresponse body中,一般在异步获取数据时使用,也就是【AJAX】

方法返回类型:
1、String和

ModelAndView 更多是用来相应html格式的内容,接收参数,Model(返回String)、
2、方法返回自定义类型,形参是自定义形参,接收参数
3、返回为void ,用来自定义相应,后面用的最多的是文件下载,主要形参会有哪些,HttpSerrvletResponse

处理对象可以对应哪些形参
Model:接收参数,Servlet API 如HttpServletRequest 
HttpServletResponse HttpSession 具体定义哪些,看需求

AJAX

是什么?


不是一项具体的技术,而是几门技术的综合
同步:打电话就是同步的,要等待
异步:发短信就是异步的,不需要等待

 AJAX请求


不会刷新页面,无法回退,因为刷新页面会导致页面输入的数据丢失,用户体验会变差。


http协议:


实时看数据库数据时,需要重新访问一次数据库,才能看到更新内容,浪费数据库查询性能,浪费服务器带宽(只要数据,不要菜单,传多了),降低用户体验

为了解决上述问题,用AJAX就能解决这个问题
(给刷新按钮绑定事件,点击发送AJAX请求-----》去数据库查询数据,相应JSON----》回调函数,把DoM数据相应页面(找元素加子元素))


get请求检查用户名是否存在


当用户输入完成,鼠标失去焦点时,发出AJAX请求,异步请求。
 


二级联动


英文:jquery-ajax-json-springmvc

关于pop.xml的更改

加入了jackson依赖:Jackson:在 Spring MVC 中内置支持她,速度也挺快,稳定性比较好。

<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.6</version>
</dependency>

Fastjson:阿里出品,号称是 Java 领域中转换 JSON 最快的一个插件,中文文档比较齐全。

<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.47</version>
</dependency>

关于json与js对象之间的转换

json本质是带有格式的字符串;

浏览器提供一个工具类JSON,里面提供了两个方法,便于jSON与JS对象之间的互相转换。

JSON字符串-->JS对象

console.log(JSON.parse(json1));

console.log(JSON.parse(json1).dept.name);

JS对象-->JSON字符串

console.log(JSON.Stringify(jsobj2));

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值