AJAX和JSON

AJAX

        Asynchronous Javascript And XML"(异步 JavaScript 和 XML),是指一种创建交互式网页应用的网页开发技术。通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新。意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。传统的网页(不使用 Ajax)如果需要更新内容,必须重载整个网页页面。

AJAX原理分析

1.        AJAX引擎会在不刷新浏览器地址栏的情况下,发送异步请求

使用JavaScript获得浏览器内置的AJAX引擎(XMLHttpRequest对象)。

使用js确定请求路径和请求参数。

AJAX引擎对象根据请求路径和请求参数进行发送请求。

2.        服务器接收到ajax引擎的请求进行处理

服务器获得请求参数数据

服务器处理请求业务(调用业务层代码)

服务器响应数据给ajax引擎

3.        AJAX引擎获得服务器响应的数据,通过执行JavaScript的回调函数将数据更新到浏览器页面具体位置。

通过设置给AJAX引擎的回调函数获得服务器响应的数据

使用JavaScript在指定的位置,显示响应数据,从而局部修改页面的数据,达到局部刷新目的。

 jQuery框架的AJAX

AJAX请求

$.ajax({key:value,key:value})

常用属性:

url   请求的服务器端url地址

async     (默认: true) 默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false

data       发送到服务器的数据,可以是键值对形式,也可以是js对象形式

type       (默认: "GET") 请求方式 ("POST" 或 "GET"), 默认为 "GET"

dataType      预期的返回数据的类型,取值可以是 xml, html, script, json, text, _defaul等

success  请求成功后的回调函数

error      请求失败时调用此函数

GET请求

语法:$.get(url, [data], [callback], [type])

常用属性:

url:待载入页面的URL地址

data:待发送 Key/value 参数。

callback:载入成功时回调函数。

type:返回内容格式,xml, html, script, json, text, _default。

POST请求

语法:$.post(url, [data], [callback], [type])

常用属性:

url:待载入页面的URL地址
data:待发送 Key/value 参数。
callback:载入成功时回调函数。
type:返回内容格式,xml, html, script, json, text, _default。

应用场景

场景 1:数据验证

场景 2:按需取数据

场景 3: 自动更新页面

1.3.  JSON

JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。它采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

1.   Json对象有三种数据格式

对象类型

数组类型

混合类型

(1).   对象类型

语法格式:{name:value,name:value...}

解释:

以”{”开始,以”}”结束

其中name是字符串类型,而value是任意类型

(2).     数组类型

语法格式:[{},{}... ...]

解释:

以”[”开始,以”]”结束

数组可包含多个对象

(3).     混合类型

语法格式:{name:[]... ...}

合理包裹嵌套对象类型和数组类型

2.   如何将数据转换为JSON格式

(1).   常见的json转换工具

 

(2).   json-lib的使用

需要导入jar包

  json-lib.jar

json-lib的依赖jar包有

  commons-lang.jar

  commons-beanutils.jar

  commons-logging.jar

  commons-collections.jar

  ezmorph.jar

 在json-lib中只有两个核心类

  JSONObject

  JSONArray

常用方法(JSONObject, JSONArray)

静态方法 fromObject()
  将Javabean对象转换为json对象

  JSONObject jsonObject=JSONObject.fromObject(对象名);

  将集合转换为json数组

  JSONArray jsonArray=JSONArray.fromObject(集合名);

静态方法toString()
   将json对象转换为json字符串

  String jsonString1=obj.toString();

  将json对象转换为json字符串

  String  jsonString2=jsonArray.toString()

你可能感兴趣的:(AJAX和JSON)