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取值中form.all和不加all的区别介绍
Jan 20 Javascript
JavaScript针对网页节点的增删改查用法实例
Feb 02 Javascript
jQuery实现的五子棋游戏实例
Jun 13 Javascript
基于JavaScript实现动态创建表格和增加表格行数
Dec 20 Javascript
React操作真实DOM实现动态吸底部的示例
Oct 23 Javascript
vue仿淘宝订单状态的tab切换效果
Jun 23 Javascript
Angularjs实现控制器之间通信方式实例总结
Mar 27 Javascript
Vue中对比scoped css和css module的区别
May 17 Javascript
30分钟快速实现小程序语音识别功能
Nov 27 Javascript
微信小程序image图片加载完成监听
Aug 31 Javascript
JS如何实现在弹出窗口中加载页面
Dec 03 Javascript
详解JVM系列之内存模型
Jun 10 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
深思 PHP 数组遍历的差异(array_diff 的实现)
2008/03/23 PHP
smarty section简介与用法分析
2008/10/03 PHP
paypal即时到账php实现代码
2010/11/28 PHP
PHP遍历二维数组的代码
2011/04/22 PHP
javascript 延迟加载技术(lazyload)简单实现
2011/01/17 Javascript
JS的encodeURI和java的URLDecoder.decode使用介绍
2014/05/08 Javascript
jQuery焦点图切换简易插件制作过程全纪录
2014/08/27 Javascript
原生js实现复制对象、扩展对象 类似jquery中的extend()方法
2014/08/30 Javascript
webapp框架AngularUI的demo改造之路
2014/12/21 Javascript
纯javascript实现自动发送邮件
2015/10/21 Javascript
总结在前端排序中遇到的问题
2016/07/19 Javascript
jQuery实现用户输入自动完成功能
2017/02/13 Javascript
vue组件实现文字居中对齐的方法
2017/08/23 Javascript
原生JS控制多个滚动条同步跟随滚动效果
2017/12/22 Javascript
小程序实现授权登陆的解决方案
2018/12/02 Javascript
使用Sonarqube扫描Javascript代码的示例
2018/12/26 Javascript
javascript Canvas动态粒子连线
2020/01/01 Javascript
js实现小星星游戏
2020/03/23 Javascript
Windows下为Python安装Matplotlib模块
2015/11/06 Python
python抓取网页中图片并保存到本地
2015/12/01 Python
12步教你理解Python装饰器
2016/02/25 Python
Python简易版图书管理系统
2019/08/12 Python
Python实现投影法分割图像示例(二)
2020/01/17 Python
matplotlib设置颜色、标记、线条,让你的图像更加丰富(推荐)
2020/09/25 Python
python实现自动打卡的示例代码
2020/10/10 Python
python 多线程爬取壁纸网站的示例
2021/02/20 Python
英国时尚高尔夫服装购物网站:Trendy Golf
2020/01/10 全球购物
项目合作计划书
2014/01/09 职场文书
乡镇交通安全实施方案
2014/03/29 职场文书
市场营销专业毕业生求职信
2014/07/21 职场文书
国际会计专业求职信
2014/08/04 职场文书
新兵入伍心得体会
2014/09/04 职场文书
个人对照检查材料思想汇报(四风问题)
2014/09/25 职场文书
成绩报告单家长评语
2014/12/30 职场文书
淘宝好评语句大全
2014/12/31 职场文书
详解CSS伪元素的妙用单标签之美
2021/05/25 HTML / CSS