Unit02: JSON 、 使用JSON实现数据交换 、 jQuery对AJAX的支持
(1)发送get请求
为什么会产生乱码?
ie浏览器提供的ajax对象,对中文会使用gbk来编码,非ie浏览器 会使用utf-8来编码。服务器端默认会使用"iso-8859-1"来解码, 所以会产生乱码。
如何解决?
step1. 在服务器端,统一使用"utf-8"来解码。<Connector URIEncoding="utf-8"/>
step2. 浏览器端,使用encodeURI对中文进行编码。
注: encodeURI函数会使用utf-8来编码。
(2)发送post请求
为什么会产生乱码?
浏览器所提供的ajax对象都会使用utf-8对中文进行编码。 而服务器端会使用iso-8859-1来解码。
如何解决?
request.setCharacterEncoding("utf-8");
2. JSON (Javascript Object Notation)
(1)JSON是什么?
是一种轻量级的数据交换格式。
什么是数据交换?
将数据转换成一种与平台无关的数据格式(比如xml),然后交给接收方 来处理。
轻量级
相对于xml,json文档更小,解析的速度更快。
(2)基本语法
表示一个对象
{属性名:属性值,属性名:属性值...}
注:
a. 属性名必须使用双引号括起来。
b. 属性的类型可以是string,number,true/false,null,object。
c. 属性值如果是string,必须使用双引号括起来。
表示由对象组成的数组
[{},{},{}...]
(3)使用json
(1)java对象如何转换成json字符串。
使用jackson工具提供的api。(ObjectMapper)
(2)json字符串如何转换成javascript对象。
使用javascript内置对象 JSON.parse()方法。
3. jQuery对ajax的支持
(1)$.ajax方法
用法: $.ajax({});
(2)load方法
向服务器发送异步请求,然后将服务器返回的数据直接添加到符合要求的 节点之上。
代码:
src/main/java
bean
package bean; public class Stock { private String code; private String name; private int price; public String getCode() { return code; } public void setCode(String code) { this.code = code; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getPrice() { return price; } public void setPrice(int price) { this.price = price; } }