导图社区 原生Ajax及其各种使用方式
从最原始的概念到如何发送和处理Ajax请求
Linux基础到进阶的详细记录。从基础到服务器运维,环境搭建都涉及。
社区模板帮助中心,点此进入>>
英语词性
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
法理
刑法总则
【华政插班生】文学常识-先秦
【华政插班生】文学常识-秦汉
文学常识:魏晋南北朝
【华政插班生】文学常识-隋唐五代
民法分论
Ajax
浏览器与服务器通信而无需刷新页面的技术
实现
XMLHttpRequest是对JavaScript的一个拓展,可使网页与服务器进行通信,是创建Ajax应用的最佳选择
以POST请求发送数据
在open之后send之前设置一个请求头
request.setRequestHeader("ContentType","application/x-www-form-urlencoded")
参数写在send()方法中
XMLHttpRequest
readyState
0 代表未初始化,还没有调用open方法
1 代表正在加载,open方法已经被调用,但是send方法还没有调用
2 代表已经加载完毕,send方法被调用,请求已经开始
3 代表交互中,服务器正在发送响应
4 代表完成,响应发送完毕
status
404 没有找到页面
403 禁止访问
500 内部服务器出错
200 一切正常
304 没有被修改
responseText
包含从服务器上发来的数据,是一个HTML,XML或者普通文本,取决于服务器发送的内容
Ajax传输数据的方式
HTML
不需要解析,可以直接放在文档中,若仅更新一块区域,方便
但是传输的数据不是很方便
XML
笨重,解析困难,但是XML是通用的数据交换个格式
JSON
小巧,有面向对象的特征,还有很多的jar包可以把Java对象或集合转成JSON字符串
jQuery使用Ajax
load()方法时最简单和常用的Ajax方法。能载入远程的HTML代码并插入DOM中
可以用于HTML文档的元素节点,直接把结果加到对应节点的子元素,load方法加载的数据是HTML的片段
load(url,[date],[callback]);
加了data参数就为POST请求
对求其的内容进行筛选:在URL的后面加选择器格式:" 选择器"
$.get(url,args,function(data){})/$.post()
请求方式不一样
响应的内容在回调函数的参数中
$getJSON(url,args.function(data){})
等同于$.get(url,args,function(),"JSON");
回调函数:当响应结束时候被触发
data参数是返回的JSON内容封装成的JSON对象
JavaScript Object Natation
将字符串转成Json对象
使用eval()方法 可以把字符串转为本地js代码执行
把json字符串转为json对象
eval("("+jsonStr+")");
jsonlib
引入包...
JSONArray
将数组和list集合转成JSON
JSONArray jsonArray=JSONArray.fromObject(list,[jsonConfig]);
jsonArray.toString();
JSONObject
将对象和Map集合转成JSON
JSONConfig
转JSON的配置对象
去除不需要的属性
JsonConfig jsonConfig = new JsonConfig();
jsonConfig.setExcludes(new String[]{"不需要的属性名"});
Jackson
依据getter方法依据返回值得到JSON字符串
步骤
1、导入3个要使用的jar包
2、创建ObjectMappter对象
ObjectMapper mapper = new ObjectMapper();
3、调用对象的writeValueAsString(Object obj)
将传入的对象依据其getter方法得到JSON字符串
细节
可以加注解忽略某个getter的属性
@JsonIgnore
org.codehaus.jackson.annotate.JsonIgnore
可以将java对象或集合转成JSON字符串