您的位置:首页 > Web前端 > JavaScript

json和Ajax

2017-06-10 10:17 309 查看
什么是json:

1.轻量级的文本交换数据格式

2.独立语言

3.自我描述,跟容易理解

4.JSON 使用 JavaScript 语法来描述数据对象,但是 JSON 仍然独立于语言和
平    台。JSON 解析器和 JSON 库支持许多不同的编程语言

SpringMVC响应json:

1.先导入架包请参考:http://download.csdn.net/detail/linfeng_csdn/9864846

2.有三种方式:

1).返回值为空的方式

package cn.et.springmvc.lesson05;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

public class TestJson {

private String userName;
private String password;

public static void main(String[] args) {
String json="[\"1\",\"2\"]";
/*
[]代表数组,需要用JSONArray对象
{}代表对象,需要用JSONObject对象
*/
JSONArray jo=JSONArray.fromObject(json);
System.out.println(jo.size());

}
2).返回值为byte[]:
注意:返回值为其他类型的时候需要加个注解@ResponseBody

@RequestMapping(value="/ajax")
@ResponseBody
public byte[] ajax(String ename) throws Exception{
List list=servcie.queryEmp(ename);
//将数组或者对象或者集合转换成字符串的json传给xhr对象
String json=JSONArray.fromObject(list).toString();
return json.getBytes("UTF-8");
}
3).返回对象或者集合:
1.在springMVC中配置如果不配则会抛出406:

<mvc:annotation-driven validator="factoryBean">
<mvc:message-converters>
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/html</value>
<value>application/x-www-form-urlencoded</value>
<value>application/json;charset=UTF-8</value>
</list>
</
4000
property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
2.
@ResponseBody
@RequestMapping(value="/ajaxObj")
public UserInfo ajaxObj() throws Exception{
//{userid:1,userName:zs}
UserInfo u=new UserInfo();
u.setUserId("1");
u.setUserName("zs");
return u;
}

什么是Ajax:

 Ajax概念:
Ajax 是Web 开发一个流行的词汇,全称 Asynchronous JavaScript and XML,异步的JavaScript和XML 。是几种技术的强强联合。

  Ajax如何工作:
Ajax(即异步 JavaScript 和 XML)是一种 Web 应用程序开发的手段,它采用客户端脚本与 Web 服务器交换数据。

同步异步:

同步一次只能执行一个线程

异步可以执行多个线程

Ajax交互流程:



XMLHttpRequest对象:

XMLHttpRequest对象是整个Ajax开发的基础

提供客户端和服务器异步通信的能力

能够向服务器发出请求

能够接收服务器的返回页面

Ajax发送请求:

通过方法open() 和 send()



Ajax回调:



回调的四种状态等于4的时候并且响应码为200表示响应开始了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: