JQuery(三) Ajax相关
JQuery大大简化了Ajax通用操作,开发者只需要指定请求URL,回调函数即可。
三个主要方法:
$().param(obj):将obj参数(对象或数组)转化成查询字符串。
{name:"疯狂Java讲义", price:109}转换出的查询字符串为:
name=%E7%96%AF%E7%8B%82Java%E8%AE%B2%E4%B9%89&price=109
serialize():将表单或表单控件转化成查询字符串。
user=vince&desc=%E4%BB%8B%E7%BB%8D&book=javaee
serializeArray():将表单或表单控件转化成形如{name:namelabel , value:realvalue}的对象。
第0表单控件名为:user,值为:vince
第1表单控件名为:desc,值为:介绍
第2表单控件名为:book,值为:javaee
实例
<!DOCTYPE html>
<html>
<head>
<meta name="author" content="Yeeku.H.Lee(CrazyIt.org)" />
<meta http-equiv="Content-Type" content="text/html; charset=GBK" />
<title> 处理表单 </title>
</head>
<body>
<form id="test">
用户名:<input id="user" name="user" type="text" /><br />
个人介绍:<textarea id="desc" name="desc"></textarea><br />
喜欢的图书:<select id="book" name="book">
<option value="java">疯狂Java讲义</option>
<option value="javaee">轻量级Java EE企业应用实战</option>
<option value="ajax">疯狂Ajax讲义</option>
</select>
</form>
<button id="bn1">查询字符串</button>
<button id="bn2">查询JSON对象</button>
<button id="bn3">将对象转换为查询字符串</button><hr />
<span id="show"></span>
<script type="text/javascript" src="../jquery-1.8.0.js">
</script>
<script type="text/javascript">
// 为id为bn1的按钮绑定事件处理函数
$("#bn1").click(function()
{
// 将id为test1的表单转换为查询字符串
$("#show").html($("#test").serialize());
});
// 为id为bn2的按钮绑定事件处理函数
$("#bn2").click(function()
{
// 将所有输入元素转换为数组
var arr = $(":input").serializeArray();
$("#show").empty();
// 遍历arr数组
for (var index in arr)
{
$("#show").append("第" + index + "表单控件名为:"
+ arr[index].name + ",值为:" + arr[index].value + "<br />");
}
});
$("#bn3").click(function()
{
// 调用$.param将对象转换为查询字符串
$("#show").html('{name:"疯狂Java讲义", price:109}'
+ '转换出的查询字符串为:<br/>'
+ $.param({name:"疯狂Java讲义", price:109}));
});
</script>
</body>
</html>
load(url[,data][,callback]):向URL异步请求,将相应插入当前DOM。
data格式:{key1:val1,key2:val2}。callback是回调函数。
实例
<!DOCTYPE html>
<html>
<head>
<meta name="author" content="Yeeku.H.Lee(CrazyIt.org)" />
<meta http-equiv="Content-Type" content="text/html; charset=GBK" />
<title> 使用jQuery的load方法 </title>
</head>
<body>
<h3>请输入你的信息:</h3>
<form id="userForm">
用户名:<input type="text" name="user" /><br />
喜欢的图书:<select multiple="multiple" name="books">
<option value="java">疯狂Java讲义</option>
<option value="javaee">轻量级Java EE企业应用实战</option>
<option value="ajax">疯狂Ajax讲义</option>
<option value="xml">疯狂XML讲义</option>
</select><br />
<input id="load" type="button" value="Load"/>
</form><hr />
<div id="show"></div>
<script src="jquery-1.8.0.js" type="text/javascript">
</script>
<script type="text/javascript">
// 为id为load的按钮绑定事件处理函数
$("#load").click(function()
{
// 向pro发送Ajax请求,并自动加载服务器响应
$("#show").load("pro" , $("#userForm").serializeArray());
});
</script>
</body>
</html>
服务器端如何接收及响应Ajax
- Servlet response可接收可发送
- 服务器端写到session中
- struts 2支持stream类型的Result,可直接向浏览器生成二进制响应。
- Struts 2支持JSON插件。
- Struts 2支持Dojo插件。
$().ajax(options)
JQuery(三) Ajax相关的更多相关文章
- 从零开始学习jQuery (六) AJAX快餐
一.摘要 本系列文章将带您进入jQuery的精彩世界, 其中有很多作者具体的使用经验和解决方案, 即使你会使用jQuery也能在阅读中发现些许秘籍. 本篇文章讲解如何使用jQuery方便快捷的实现A ...
- Struts2 使用jQuery实现Ajax
在jQuery中将Ajax相关的操作进行封装,使用时只需在合适的地方调用Ajax相关的方法即可,相比而言,使用jQuery实现Ajax更加简洁,方便 1.$.Ajax()可以通过发送Http请求加载远 ...
- Jquery第三篇【AJAX 相关的API】
前言 前面我们已经学了讲解了Jquery的选择器,关于DOM 的API还有事件的API.本博文需要讲解Jquery对AJAX的支持- 我们在开始使用JavaScript学习AJAX的时候,创建异步对象 ...
- jQuery中Ajax(三)
1. jQuery.ajaxSetup([options]), 设置全局 AJAX 默认选项. 参数见 'jQuery.ajax(url,[settings])' 说明. 2. jQuery.ajax ...
- 第十六章:Python の Web开发基础(三) jQuery与Ajax
本課主題 jQuery 介绍 Ajax 介绍 jQuery 介绍 选择器 jQuery 的选择器分不同的种类,主要目的是用来查找目标的 HTML 标签,方便对目标标签进行操作,比如找到 <li& ...
- 详解Ajax请求(三)——jQuery对Ajax的实现及serialize()函数对于表单域控件参数提交的使用技巧
原生的Ajax对于异步请求的实现并不好用,特别是不同的浏览器对于Ajax的实现并不完全相同,这就意味着你使用原生的Ajax做异步请求要兼顾浏览器的兼容性问题,对于java程序员来讲这是比较头疼的事情, ...
- jquery中ajax的相关事件汇总
Jquery ajax事件分类 (一) 局部事件 local events 局部事件:在单个Ajax请求对象中绑定的事件,每个 Ajax 请求对象能够依据须要绑定自己的局部事件 .局部事件仅仅会被那个 ...
- jquery的ajax可以传入的三种参数类型
在jquery的ajax函数中,可以传入3种类型的数据 1.文本:"uname=alice&mobileIpt=110&birthday=1983-05-12" 2 ...
- JQuery的ajax方法获取返回值得到了值还包含了不要的html源码 (Ajax相关知识)
因为后台使用了response.Write():这个方法,当输出完了以后,没有结束掉会继续输出,所以需要用到response.End():这样问题就解决了 jquery的ajax 除了通过url传值, ...
- 对jquery的ajax进行二次封装以及ajax缓存代理组件:AjaxCache
虽然jquery的较新的api已经很好用了, 但是在实际工作还是有做二次封装的必要,好处有:1,二次封装后的API更加简洁,更符合个人的使用习惯:2,可以对ajax操作做一些统一处理,比如追加随机数或 ...
随机推荐
- VS项目如何运用svn的忽略列表
在实际的项目开发中,有些文件(比如bin,obj下的文件)是不需要放在svn里面的,因为每次都会重新生成. 该如何排除这些文件那? 我试着在svn server上删除了这些文件夹,但是在文件夹上还是显 ...
- 双tomcat的部署
由于开发环境使用的tomcat需频繁开启关闭,所以决定另外搭建一个tomcat部署后台供前台调用接口,顺便记录一下备忘 我的部署环境为windows7 tomcat7 将下载的tomcat放到其他位置 ...
- careercup-C和C++ 13.9
13.9 编写支持对齐分配的malloc和free函数,分配内存时,malloc函数返回的地址必须都能被2的n次方整除. 解法: 一般来说,使用malloc,我们控制不了分配的内存会在堆里哪个位置.我 ...
- MySQL的数据类型(转)
MySQL的数据类型 1.整数 TINYINT: 8 bit 存储空间 SMALLINT: 16 bit 存储空间 MEDIUMINT: 24 bit 存储空间 INT: 32 bit 存储空间 BI ...
- supervisor tornado 多进程多端口配置
base: nginx tornado 目标: tornado 实现多端口多进程运行 pip install supervisor echo_supervisord_conf > /etc/su ...
- ADC及DA的头文件复析
/************************************************************* ADC12,,,,这么多的定义,搞得我都昏死啦,抽出来可能好几一些..** ...
- 将centos 7改造为LINUX桌面系统
http://www.3566t.com/news/ckan/1410774.html CentOS 桌面版安装配置(以CentOS 7为例) http://blog.csdn.net/zhanghu ...
- C#扫盲之:==/Equals /ReferenceEquals 异同的总结,相等性你真的知道吗?
1.前言 == Equals ReferenceEquals 三个相等性测试,是.NET提供给程序员使用的三个方法,他们之间有什么联系和区别,你真的仔细研究过?虽然之前也多多少少知道一点,但是有时候又 ...
- jQuery mouseover与mouseenter,mouseout与mouseleave的区别
mouseover与mouseenter 不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover 事件. 只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件. mouseou ...
- MySQL flush privileges 명령어
INSERT나 UPDATE, DELETE문을 이용해서 MySQL의 사용자를 추가,삭제하거나, 사용자 권한 등을 변경하였을 때, MySQL에 변경사항을 적용하기 위해서 사용하는 명령 ...