Json & Ajax 笔记
Json & Ajax 笔记
Json 数据对象
1. 了解 Json
Json是基于JavaScript语言用来传输数据的一种手段,相比曾经的xml传输数据的手段,Json更高效,更轻便,更灵活,他是以键值对的形式出现的,一个key对应一个value,中间用 : 连接,其中所有的数据与的key必须都是双引号的字符串形式,而value的值可以是:
【数值】【字符串】【布尔】【数组】【对象】【Json】【null】
Json的代码表现:
-
使用大括号封装 { } ( 代表 Json 对象 )
-
使用中括号封装 [ ]( 代表 Json 数组 )
2. 声明 Json 对象
声明一个Json对象,其中 a 为 Object 类型的 Json 对象,通过 alert 语句可以访问到指定 key 的元素
1 |
|
Json 中的 value 中还可以套用 Json
1 |
|
使用 for-in 来遍历该 Json 对象
1 |
|
3. Json 数组操作
使用 [ ] 声明的 Json 是 Object 类型的数组,里面可以存放 ≥1 数量的 Json,通过下标可以访问到 Json 以及 Json 中某个 key 具体的值
1 |
|
在数组中追加元素
1 |
|
查询,删除某个元素
1 |
|
遍历该 Json 数组
1 |
|
4. Json的数据转换
js 中互相转换
在 js 中有一个 JSON 对象,里面封装了两个方法,针对于 Json 与 JS 的格式转换
Json → JS
使用 JSON 对象中提供的 stringify( json ) 方法将 Json 类型的对象装换为 js
1 |
|
JS → Json
使用 JSON 中提供的 parse ( str ) 方法将 Json 类型的对象装换为 js
字符串类型的Json必须时单引号扩着双引号
1 |
|
Java 中相互转换
而如果想在 Java 中实现 Json 和对象之间的转换,需要借助一个依赖 jar 包,通过 ObjectMapper 的实例对象 om 进行操作
1 |
|
Java → Json
1 |
|
Json → Java
1 |
|
List → Json
1 |
|
Map → Json
1 |
|
5. MVC 中 Json 中文乱码解决
在向客户端返回Json数据的时候,会产生中文乱码的情况,需要使用@RequestMapping中的produces属性解决
1 |
|
Ajax 异步处理
ajax 是基于JavaScript 语言,它实现在不刷新页面的情况下向服务器发出请求,达到异步交互,主要依靠的核心对象是 XMLHttpRequest
ajax 对象常用属性
-
onreadystatechange
设置回调函数,当发起请求的时候,服务器会处理请求,在处理结束后会返回一个信号,紧接着调用回调函数,他是在服务器处理完请求后执行的一个函数
-
readyState,代表着与服务器交互的过程的变化,通过 0-4 五个数字来表示
数字 解释 0 刚刚创建了XMLHttpRequest对象 1 打开了与服务器的连接(调用了open方法) 2 向服务器发出了请求(调用了send方法) 3 服务器将请求处理完毕 4 交互正常结束 -
status,服务器相应的状态码,等同于http协议的状态码
状态吗 解释 200 表示服务器正常工作 303 表示服务器内部出现了错误 404 找不到请求的目标资源 500 发生了重定向 -
responseText,封装服务器给客户端响应的文本数据
-
responseXML,封装服务器给客户端相应的xml文件类型数据
ajax 的方法函数
-
open( string str1 , string str2 , boolean b ),打开与服务器的连接,open方法中的三个属性
参数 作用 string str1 请求的方式,get-post等 string str2 请求的资源路径 boolean b 是否开启异步处理,true为开启,false为不开启 -
send( string str ),向服务器发出请求,在执行open方法后运行,有一个属性
str:如果请求方式为post,可以传入 key=value&key=value 的字符串作为参数
如果为 get 请求,参数可以留空或 null,get 请求传参在打开连接时拼接字符串即可
-
setRequestHeader( str1 , str2 )
修改请求头信息,==只有post请求需要修改==,get可以忽略,应在打开连接后,发出请求前设置
str1:被修改的请求头【”Content-type”】
str2:修改后的值:【”application/x-www-form-urlencoded”】