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 相关文章推荐
js 图片缩放(按比例)控制代码
May 27 Javascript
javascript 获取表单file全路径
Dec 31 Javascript
jquery 取子节点及当前节点属性值的方法
Aug 24 Javascript
详解Javascript动态操作CSS
Dec 08 Javascript
jQuery实现购物车数字加减效果
Mar 14 Javascript
jquery UI Datepicker时间控件的使用方法(加强版)
Nov 07 Javascript
js+css简单实现网页换肤效果
Dec 29 Javascript
jQuery操作复选框(CheckBox)的取值赋值实现代码
Jan 10 Javascript
原生javascript AJAX 三级联动的实现代码
May 04 Javascript
vue二级菜单导航点击选中事件的方法
Sep 12 Javascript
node基于async/await对mysql进行封装
Jun 20 Javascript
Vue实现Header渐隐渐现效果的实例代码
Nov 05 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
全国FM电台频率大全 - 20 广西省
2020/03/11 无线电
深入PHP nl2br()格式化输出的详解
2013/06/05 PHP
PHP基于堆栈实现的高级计算器功能示例
2017/09/15 PHP
PHP基于自定义函数生成笛卡尔积的方法示例
2017/09/30 PHP
php反射学习之依赖注入示例
2019/06/14 PHP
BOOM vs RR BO5 第三场 2.14
2021/03/10 DOTA
jquery tablesorter.js 支持中文表格排序改进
2009/12/09 Javascript
jQuery+ajax实现顶一下,踩一下效果
2010/07/17 Javascript
仿猪八戒网左下角的文字滚动效果
2011/10/28 Javascript
原生js仿jq判断当前浏览器是否为ie,精确到ie6~8
2014/08/30 Javascript
jquery处理页面弹出层查询数据等待操作实例
2015/03/25 Javascript
JavaScript Length 属性的总结
2015/11/02 Javascript
node.js中module.exports与exports用法上的区别
2016/09/02 Javascript
深入浅析AngularJS中的一次性数据绑定 (bindonce)
2017/05/11 Javascript
详解vue模拟加载更多功能(数据追加)
2017/06/23 Javascript
js的函数的按值传递参数(实例讲解)
2017/11/16 Javascript
了解在JavaScript中将值转换为字符串的5种方法
2019/06/06 Javascript
[01:32]DOTA2 2015国际邀请赛中国区预选赛第四日战报
2015/05/29 DOTA
Python中字典的浅拷贝与深拷贝用法实例分析
2018/01/02 Python
python topN 取最大的N个数或最小的N个数方法
2018/06/04 Python
ActiveMQ:使用Python访问ActiveMQ的方法
2019/01/30 Python
浅谈Python编程中3个常用的数据结构和算法
2019/04/30 Python
Django  ORM 练习题及答案
2019/07/19 Python
python对csv文件追加写入列的方法
2019/08/01 Python
python设置随机种子实例讲解
2019/09/12 Python
tensorflow 查看梯度方式
2020/02/04 Python
Python爬虫实现模拟点击动态页面
2020/03/05 Python
美国知名户外用品畅销中心:Sierra Trading Post
2016/07/19 全球购物
HashMap和Hashtable的区别
2013/05/18 面试题
Linux管理员面试题 Linux admin interview questions
2014/11/01 面试题
工程项目建议书范文
2014/03/12 职场文书
毕业生学校推荐信范文
2014/05/21 职场文书
群众路线教育实践活动整改方案(个人版)
2014/10/25 职场文书
群众路线个人剖析材料及整改措施
2014/11/04 职场文书
收费员岗位职责
2015/02/14 职场文书
酒店财务部岗位职责
2015/04/14 职场文书