一.AJAX简介:
AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。 AJAX 不是新的编程语言,而是一种使用现有标准的新方法。 AJAX 是与服务器交换数据并更新部分网页的艺术,在不重新加载整个页面的情况下。
基本格式:
$.ajax({
type:"post",//发送请求的方式:post/get
url:"TestServlet",//请求接收的路径, 地址
data:{
username:"admin",
password:"123"
},//这个ajax请求所携带的参数:对象的形式
dataType:"text",// 返回的数据类型,text,html,json,xml
success:function(data) {
console.log(data);
},
error:function(msg) {
console.log();
}
});
通过 AJAX,JavaScript 无需等待服务器的响应,而是:
-
在等待服务器响应时执行其他脚本
-
当响应就绪后对响应进行处理
true:异步, false同步,说的直白一些就是,各执行各的,就是异步,互不影响
我们不推荐使用 async=false(同步),但是对于一些小型的请求,也是可以的。
请记住,JavaScript 会等到服务器响应就绪才继续执行。如果服务器繁忙或缓慢,应用程序会挂起或停止。
二.JSON
JavaScript 对象表示法(JavaScript Object Notation)。 JSON 是存储和交换文本信息的语法。类似XML
1. 创建一个新对象:
var JSONObj = new Object();
2.创建一个 bookname 属性值为字符串,price属性值为数字的对象。可以通过使用 '.' 运算符访问属性。
var JSONObj = { "bookname ":"VB BLACK BOOK", "price":500 };
3.
- 数据使用名/值对表示。
- 使用大括号保存对象,每个名称后面跟着一个 ':'(冒号),名/值对使用 ,(逗号)分割。
- 使用方括号保存数组,数组值使用 ,(逗号)分割。
{
"book": [
{
"id":"01",
"language": "Java",
"edition": "third",
"author": "Herbert Schildt"
/*JSON 数组在方括号中书写:
数组可包含多个对象:*/
},
{
- 数据在名称/值对中
- 数据由逗号分隔
- 花括号保存对象
- 方括号保存数组
"id":"07",
"language": "C++",
"edition": "second"
"author": "E.Balagurusamy"
}]
}
- 名/值对集合: 这一数据结构由不同的编程语言支持。
- 有序的值列表: 包括数组,列表,向量或序列等等。
4.JSON 语法规则
JSON 值可以是:
- 数字(整数或浮点数)
- 字符串(在双引号中)
- 逻辑值(true 或 false)
- 数组(在方括号中)
- 对象(在花括号中)
- null
5.在 Java 中编码 JSON
import org.json.simple.JSONObject;
class JsonEncodeDemo
{
public static void main(String[] args)
{
JSONObject obj = new JSONObject();
obj.put("name", "foo");
obj.put("num", new Integer(100));
obj.put("balance", new Double(1000.21));
obj.put("is_vip", new Boolean(true));
System.out.print(obj);
}
}
会生成如下所示结果:
{"balance": 1000.21, "num":100, "is_vip":true, "name":"foo"}
JSON的实例:
String s = "{\"username\":\"admin\"}";
String s1 = "{\"result\":[{\"a\":\"b\"},{\"c\":\"d\"},99,\"aaaa\"]}";
int[] arr = {1,2,3,4,5,6};
System.out.println(JSON.toJSONString(arr));
List<String> list = new ArrayList<String>();
list.add("aaaaaaaaaa");
list.add("bbbbbbbb");
list.add("ccccccc");
list.add("dddddd");
System.out.println(JSON.toJSONString(list));
List<District> list2 = new ArrayList<District>();
District d1 = new District("1","地名1","2");
District d2 = new District("2","地名2","2");
District d3 = new District("3","地名3","2");
list2.add(d1);
list2.add(d2);
list2.add(d3);
System.out.println(JSON.toJSONString(list2));