一.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));