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()

posted @ 2020-11-17 09:45  FourAu  阅读(85)  评论(0)    收藏  举报