Ajax json
Ajax json
==================================================
同步和异步
异步:不会等待服务器的返回结果,直接执行后续代码
同步:等待服务器的返回结果,才执行后续代码
AJAX = Asynchronous JavaScript and XML
(异步的 JavaScript 和 XML)。
AJAX 不是新的编程语言,而是一种使用现有标准的新方法。
优点:
1.在不重新加载整个页面的情况下,
可以与服务器交换数据并更新部分网页内容。
2.不需要任何浏览器插件,
但需要用户允许JavaScript在浏览器上执行。
用法:
//创建ajax对象
var ajax = new XMLHttpRequest();
IE6,IE5创建ajax对象
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
//准备发送
ajax.open("请求方式","请求路径",是否异步);
是否异步可以不写,默认值为true,表示异步
//发送
ajax.send();
//回调方法
ajax.onreadystatechange
//ajax状态 ajax.readyState==4
//0 - (未初始化)还没有调用send()方法
//1 - (载入)已调用send()方法,正在发送请求
//2 - (载入完成)send()方法执行完成,
//3 - (交互)正在解析响应内容
//4 - (完成)响应内容解析完成,可以在客户端调用了
//http状态码 ajax.status==200
http://tool.oschina.net/commons?type=5
后台返回数据
resp.setContentType("text/xml;charset=utf-8");
PrintWriter writer = resp.getWriter();
writer.print(数据);
writer.flush();
writer.close();
案例:
下拉框二级联动
省份
ajax实现方式
用户直接访问页面
onload事件
使用ajax查询省份数据
servlet中查询省份数据
将查询到的省份数据转成json或者xml格式
将转换之后的数据返回的页面
页面接收到省份数据,再做后续处理
城市
================================
JSON
================================
JSON: JavaScript Object Notation(JavaScript 对象表示法)
JSON 是存储和交换文本信息的语法,类似 XML。
JSON 比 XML 更小、更快,更易解析。
JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)
JSON 是轻量级的文本数据交换格式
JSON 独立于语言:JSON 使用 Javascript语法来描述数据对象,
但是 JSON 仍然独立于语言和平台。
JSON 解析器和 JSON 库支持许多不同的编程语言。
目前非常多的动态(PHP,JSP,.NET)编程语言都支持JSON。
JSON 具有自我描述性,更易理解
JSON语法
JSON 文本格式在语法上与创建 JavaScript 对象的代码相同。
JSON 语法是 JavaScript 语法的子集。
数据在名称/值对中
数据由逗号分隔
大括号 {} 保存对象
中括号 [] 保存数组,数组可以包含多个对象
{"name":"小红"}
{"name":"小米","age":18}
[{"name":"小心","age":18},{"name":"小李","age":16}]
JSON和XML
相同点
JSON 是纯文本
JSON 具有"自我描述性"(人类可读)
JSON 具有层级结构(值中存在值)
JSON 可通过 JavaScript 进行解析
JSON 数据可使用 AJAX 进行传输
不同点
没有结束标签
更短
读写的速度更快
能够使用内建的 JavaScript eval() 方法进行解析
使用数组
不使用保留字
字符串和JSON对象转换
JSON.parse()和JSON.stringify()

浙公网安备 33010602011771号