ajax json java_ajax_json
ajax框架day1
1、ajax引言
a) 概念 asynchronousjavascript andxml (异步请求 javascript and xml)
b) 传统的请求
发起传统请求的方式地址栏
超级连接
表单
javascript: location.href 函数
传统请求的问题
因为传统请求响应的是新的页面(刷新了页面)。所以用户就必须要等待响应结果,才可以进行后续的操作。
用户体验差。基于异步请求的特点
响应的内容不是新的页面,是一个页面的局部,字符串信息,所以用户在使用异步请求的时候,不需要等待响应的,直接就可以进行后续处理。传统请求与异步请求的区别响应内容
传统响应的内容:新的页面,刷新页面
异步响应的内容:页面的局部,字符串信息
对于用户的操作
传统的请求:等待响应
异步的请求:不需要等待响应,用户可以直接进行后续的操作
建议在合适的场景下,都使用异步请求,提高用户的体验
2、异步请求的开发
a) 异步请求对象的创建
javascript: xmlhttprequest对象 xhr
chrome|ff|safari中
xmlhttprequest
var xhr = new xmlhttprequest();
ie(ie5 ie6)中 activexobject
var xhr = new activexobject(“microsoft.xmlhttp”);
b)
xhr对象的使用
3、用户名检测的案例
不再跳转
控制表单是否提交,提交时检测
4、ajax的开发步骤
a)
创建异步请求
ie系
xhr = new activexobject(“microsoft.xmlhttp”);
非ie系 xhr
= new xmlhttprequest();
b)
发送请求
querystring
xhr.open(“get”,url?name=suns&pwd=123&sex=male);
xhr.send(null);
xhr.open(“post”,url,true(是否使用异步));
xhr.setrequestheader(“content-type”,”application/x-www-form-urlencoded”);
为什么设置:模拟表单
基本web的开发 只能使用表单提交数据,使用表单提交数据时默认指定
enctype=”application/x-www-form-urlencoded”,但是现在使用ajax编程,不再使用
请求头中手工设置application/x-www-form-urlencoded来模拟表单。
xhr.send(“name=suns&pwd=123&sex=male”);,传递数据要加引号,
c)
监听响应
xhr.onreadystatechange = function(){
if(xhr.readystate==4&&xhr.status==200){
xhr.responsetext
dom编程
}
}
d)
服务器端:
不再进行页面的跳转,而是通过返回字符串信息,完成交互
request作用域 不使用
底层就是使用response.getwriter()获取输出流 进行交互
5、json协议串
json协议串,本质上就是一个字符串。
a)
作用:异构的编程体系中,进行数据的传输,交互。
b)
核心:
定义了字符串的格式对象形式
集合形式
内嵌对象
map类型
与 对象的形式一致
json协议解析 多种工具可以自动支持转换
java端:jsonlib gson(google)
fastjson(ali) jakeson(springmvc)
gson//对象是大括弧,集合小括弧
注意map是当做对象来写,大括弧
gson的基本应用
gson gson = new gson();
gson.tojson();
gson的特殊应用场景
a)
json字符串的属性名与对象属性名不一致的问题
b)
解决对象回环问题
注解 @expose
没有使用@expose的注解的属性 将会被排除,不会被转换
太不灵活,复杂都用gsonbuilder
使用接口回调,
实现一个排除策略的接口(告示gson 排除的内容)
可以指定多个排除策略,更灵活
c)
特殊的日期类型问题
实现接口
注册到gsonbuilder
json转化成js对象 (浏览器内置,jquery,ext..)
浏览器内置对象 ,后续建议使用jquery
json.parse(jsonstring) ----- js对象
----- js的数组
6、案例 :应用ajax技术实现 显示所用用户的信息
ajax框架day2
1、springmvc对于ajax的支持
a)
底层整合 原始整合
b)
通过@responsebody
springmvc自动的把对象转换成json串,并通过字符输出流输出。
注意:@responsebody封装的对象转换json的组件为
jackson
环境搭建:引入jackson相关的jar包
开发步骤;
使属性名与json字符串的key不一致
日期类型的格式
@jsonformat(pattern="yyyy-mm-dd")
空值类型不转换
@jsoninclude(include.non_null)
如何忽略某个属性
@jsonignore
中文字符集会自动处理
原来处理方法
基于实战自动日期处理与空值处理
2、struts2与ajax技术集成
3、基于ajax的编程方式思考:
现在的开发体系中,除了使用一个ajax的ui框架(easyui ext dojo)进行编程之外,剩下所用的应用,在开发时,都应该部分环节中使用ajax.
1
局部操作 与 服务器端交互
2 最好结构简单
如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!
ajax json java_ajax_json相关推荐
- laravel ajax返回json,Laravel validate error处理,ajax,json示例
如下所示: public function updateLevelTestRecords(Request $request) { $rules = [ 'uid' => 'required|in ...
- ajax+php+jq+面向对象,php+jquery+ajax+json的一个最简单实例
html页面: $(function(){ $("#send").click(function(){ var cont = $("input").seriali ...
- struts2 ajax html,Struts2+Jquery+Ajax+Json
现在使用Json来封装并且传递数据的情形是越来越多了,可怎么样在Struts2中来使用Jquery+Ajax+Json来协同工作呢?在网上查了下就那几个例子被转过来转过去的,还有很多例子根本行不通,这 ...
- AJAX+json+jquery实现预加载瀑布流布局
AJAX+json+jquery实现预加载瀑布流布局 转载于:https://www.cnblogs.com/zhujiabin/p/4860954.html
- struts2+ajax+json使用实例
本文主要包含一个struts2+ajax+json的使用实例 步骤如下 1.准备工作 ①ajax使用Jquery:jquery-1.4.2.min.js ②struts2与json的依赖包:strut ...
- php ajax json 实例,php+ajax+json 详解及实例代码
php+ajax+json 实例代码 html页面: $(function(){ $("#send").click(function(){ var cont = $("i ...
- ajax json的参数,java ajax json参数
java ajax json参数 [2021-02-02 08:55:23] 简介: php去除nbsp的方法:首先创建一个PHP代码示例文件:然后通过"preg_replace(&quo ...
- linux json 写sql注入,sql注入之AJAX(SQL Injection (AJAX/JSON/jQuery))
sql注入之AJAX(SQL Injection (AJAX/JSON/jQuery)) 0x1 网上搜下没有关于ajax的sql注入文章,这里简单写一下抛砖引玉. 原理自己百度,这里简单说下: 通过 ...
- 购物车ajax php json,Ajax+json实现购物车结算
这次给大家带来Ajax+json实现购物车结算,Ajax+json实现购物车结算的注意事项有哪些,下面就是实战案例,一起来看一下. 全选 商品 单价 数量 小计 操作 全选 删除选中产品 总价:¥0 ...
最新文章
- PhpStorm升级后调用某些类提示phpstorm Unhandled exceptions
- Meta为元宇宙建全球最快AI超算,1.6万个A100 GPU,英伟达都赚麻了
- 数据统计分析中的几点
- 022_jdbc-mysql封装JDBCUtil和抽取数据库配置参数文件
- php短信接口源码,比较简单,但也实用
- python 只取数值_Python:你会生成列表吗?-- 列表生成式
- 最全的cisco ios下载,思科ios下载
- 题解【黑匣子_NOI导刊2010提高(06)】(洛谷P1801)
- 微服务之数据同步Porter 1
- IDEA 入门:安装使用详解(创建项目/包/类、运行/关闭/导入项目、字体/字号设置、常用快捷键等)
- 重庆电子工程学院计算机专业,重庆计算机电子工程职业学院2020年招生录取分数线...
- Java常见设计模式总结
- 谷歌翻译,一键复活脚本
- 主板术语详解一(转东转西)
- 磁钉导航差速式AGV控制实验
- 全国各地所有高校名单数据库 全国所有高校排名
- 计算机软考深圳积分,2020年软考证书能为深圳积分入户加分吗?
- python爬携程景区评论_python爬取携程景点评论信息
- 将一个32bit的数据,颠倒过来,bit0与bit31交换,bit1与bit30交换,C语言实现与verilog实现。
- 解决百度网盘刷新不出来二维码
热门文章
- BZOJ4241历史研究题解--回滚莫队
- Spring Swagger URL传参问题(转)
- Exp3:MAL_免杀原理与实践
- 洛谷 P2121 拆地毯
- unity3d-ngui UIScrollView 滚动方向与滚轮相反
- 15_http响应相关概念
- 解决 pathForResource 返回 nil的问题
- php随笔11-Thinkphp常用系统配置大全
- 使用C#Visual Studio2015编写Android应用程序详细步骤
- LeetCode Lowest Common Ancestor of a Binary Search Tree (LCA最近公共祖先)