jquery对ajax的支持介绍


Posted in Javascript onDecember 10, 2013

1.三个方法

1.1.load方法

//作用:将服务器返回的数据直接添加到符合要求的dom对象上
//相当于 obj.innerHTML = 服务器返回的数据

用法:
$obj.load(url,[请求参数]);

url : 请求地址
请求参数 :
第一种形式:请求字符串,比如: 'username=zs&age=22'
第二种形式:对象,比如 {'username':'zs','age':22}

//注意:
//a, load方法如果没有参数,会使用get方式发请求。如果有参数,会使用post方式发请求。
//b, 如果有中文参数值,load方法已经帮我们做了编码处理。

例子:

$(function(){ 
$('a.s1').toggle(function(){ 
var airline = $(this).parent().siblings().eq(0).text(); 
$(this).next().load('priceInfo.do','airline=' + airline); 
$(this).html('显示经济舱价格'); 
},function(){ 
$(this).next().empty(); 
$(this).html('显示所有票价'); 
}); 
});

1.2.$.get()和$.post()方法

//作用:向服务器发送get或者post请求 (get请求ie有缓存问题)

用法:
$.get(url,[data],[callback],[type]);
$.post(url,[data],[callback],[type]);

url : 请求地址
data : 请求参数,形式同上。
callback : 回调函数,可以通过该函数来处理服务器返回的数据。
callback格式:

function(data,statusText),

其中,data可以获得服务器返回的数据,
statusText是一个简单的字符串,描述服务器处理的状态。

type : 服务器返回的数据类型,类型可以是:
html : 返回的是html内容。
text : 返回的是text。
json : 返回的是json字符串
xml : 返回的是dom兼容的xml对象
script: 返回的javascriptz

例子:

function quoto(){ 
$.post('quoto.do',function(data){ 
//如果服务器返回的数据是json字符串, 
//会自动转换成js对象或者json对象组成的数组。 
$('#tb1').empty(); 
for(i=0;i<data.length;i++){ 
$('#tb1').append( 
'<tr><td>' + data[i].code 
+ '</td><td>' + data[i].name 
+ '</td><td>' + data[i].price 
+ '</td></tr>'); 
} 
},'json');t 
}

1.3.$.ajax(options):

//options是一个形如{key1:value1,key2:value2...}的js对象,用于指定发送请求的选项。

选项参数如下:

url(string) : //请求地址
type(string) : //GET/POST
data(object/string) : //发送到服务器的数据
dataType(string) : //预期服务器返回的数据类型
success(function) : //请求成功后调用的回调函数,有两个参数:
function(data,textStatus),
其中,data是服务器返回的数据,
textStatus 描述状态的字符串。
error(function) : //请求失败时调用的函数,有三个参数
function(xhr,textStatus,errorThrown),
其中xhr是底层的ajax对象(XMLHttpRequest),
textStatus,errorThrown这两个参数其中的
一个可以获得底层的异常描述。
async:true(缺省)/false : //当值为false时,发送同步请求。

例子:

$(function(){ 
$('#s1').change(function(){ $.ajax({ 
'url':'carInfo.do', 
'type':'post', 
'data':'carName='+$('#s1').val(), 
'dataType':'xml', 
'success':function(data){ 
//data是服务器返回的数据 
//如果返回的是xml文档,我们需要使用 
//$函数将其包装$(data)成一个jQuery 
//对象,方便查找。 
//追加之前先清空 
$('#tb1').empty(); 
$('#tb1').append( 
'<tr><td>制造商:' 
+ $(data).find('company').text() 
+' 价格:' + $(data).find('price').text() 
+' </td><td>车身大小:' 
+ $(data).find('size').text() 
+ ' 门数:' + $(data).find('door').text() 
+ '</td><td>排量: ' 
+ $(data).find('vol').text() 
+ ' 加速性能:' 
+ $(data).find('speed').text() 
+ '</td></tr>'); 
//要将表格显示出来 
$('#tips').slideDown('slow'); 
setTimeout(function(){ 
$('#tips').fadeOut('slow'); 
},2000); 
}, 
'error':function(){ 
$('#tb1').append( 
"<tr><td colspan='3'>该车型信息暂时不可用</td></tr>"); 
$('#tips').slideDown('slow'); 
} 
}); 
}); 
});

例子2:
解决中文乱码问题:
$.ajax({ 
'url':'netctoss7/ajaxCode', 
'type':'post', 
'data':{name:value}, 
'dataType':'json', 
'async':false, 
'success':function(data){ 
if(data){ 
$('#msg_verCode').text(''); 
v1=true; 
}else{ 
$('#msg_verCode').text('验证码错误'); 
} 
} 
});

2.两个辅助性的方法

2.1.serialize():

//将jquery对象包含的表单或者表单控件转换成查询字符串。

2.2.serializeArray():

//转换为一个数组,每个数组元素形如{name:fieldName,value:fieldVal}的对象。
//序列化元素的作用,主要是用于ajax请求中,给data赋值。

说明:
只能用于表单或者表单控件
直接把表单的name和对应的value值发送出去,形如:name=value

例子:

$.ajax({})中 
//'data':'carName='+$('#s1').val(), 
'data':$('#s1').serialize(), //'data':{'carName':$('#s1').val()}, 
'data':$('#s1').serializeArray(),
Javascript 相关文章推荐
document.addEventListener使用介绍
Mar 07 Javascript
探讨js字符串数组拼接的性能问题
Oct 11 Javascript
AngularJS入门教程之学习环境搭建
Dec 06 Javascript
jQuery异步获取json数据方法汇总
Dec 22 Javascript
简介JavaScript中substring()方法的使用
Jun 06 Javascript
Javascript原型链的原理详解
Jan 05 Javascript
js停止冒泡和阻止浏览器默认行为的简单方法
May 15 Javascript
Angular2 组件间通过@Input @Output通讯示例
Aug 24 Javascript
Vue v2.5 调整和更新不完全问题
Oct 24 Javascript
Vue 实现树形视图数据功能
May 07 Javascript
layui select获取自定义属性方法
Aug 15 Javascript
利用JS如何获取form表单数据
Dec 19 Javascript
jquerydom对象的事件隐藏显示和对象数组示例
Dec 10 #Javascript
鼠标选择动态改变网页背景颜色的JS代码
Dec 10 #Javascript
深入理解JavaScript高级之词法作用域和作用域链
Dec 10 #Javascript
javascript四舍五入函数代码分享(保留后几位)
Dec 10 #Javascript
javascript如何创建表格(javascript绘制表格的二种方法)
Dec 10 #Javascript
javascript修改表格背景色实例代码分享
Dec 10 #Javascript
jquery全选checkBox功能实现代码(取消全选功能)
Dec 10 #Javascript
You might like
ThinkPHP关联模型操作实例分析
2012/09/23 PHP
PHP基于yii框架实现生成ICO图标
2015/11/13 PHP
php+redis实现注册、删除、编辑、分页、登录、关注等功能示例
2017/02/15 PHP
PHP Socket网络操作类定义与用法示例
2017/08/30 PHP
jquery简单的拖动效果实现原理及示例
2013/07/26 Javascript
CSS+jQuery实现的一个放大缩小动画效果
2013/09/24 Javascript
JS控制日期显示的小例子
2013/11/23 Javascript
nodejs中实现路由功能
2014/12/29 NodeJs
js实现DOM走马灯特效的方法
2015/01/21 Javascript
JavaScript实现的链表数据结构实例
2015/04/02 Javascript
jQuery旋转木马式幻灯片轮播特效
2015/12/04 Javascript
node.js实现端口转发
2016/04/14 Javascript
实例讲解Jquery中隐藏hide、显示show、切换toggle的用法
2016/05/13 Javascript
微信小程序 UI布局常用技巧整理总结
2016/12/05 Javascript
jQuery实现单击按钮遮罩弹出对话框效果(1)
2017/02/20 Javascript
微信小程序实战之登录页面制作(5)
2020/03/30 Javascript
vue v-model表单控件绑定详解
2017/05/17 Javascript
JavaScript满天星导航栏实现方法
2018/03/08 Javascript
vue2中使用less简易教程
2018/03/27 Javascript
vue-cli 引入jQuery,Bootstrap,popper的方法
2018/09/03 jQuery
AngularJS 多指令Scope问题的解决
2018/10/25 Javascript
Vue列表如何实现滚动到指定位置样式改变效果
2020/05/09 Javascript
js动态生成表格(节点操作)
2021/01/12 Javascript
python求列表交集的方法汇总
2014/11/10 Python
九步学会Python装饰器
2015/05/09 Python
Python工程师面试题 与Python Web相关
2016/01/14 Python
python使用两种发邮件的方式smtp和outlook示例
2017/06/02 Python
解决python中 f.write写入中文出错的问题
2018/10/31 Python
python爬虫中多线程的使用详解
2019/09/23 Python
python去除删除数据中\u0000\u0001等unicode字符串的代码
2020/03/06 Python
英国No.1体育用品零售商:SportsDirect.com
2019/10/16 全球购物
群众路线剖析材料(四风)
2014/11/05 职场文书
土木工程毕业答辩开场白
2015/05/29 职场文书
Nginx本地目录映射实现代码实例
2021/03/31 Servers
用python批量解压带密码的压缩包
2021/05/31 Python
Redis Lua脚本实现ip限流示例
2022/07/15 Redis