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 相关文章推荐
设置下载不需要倒计时cookie(倒计时代码)
Nov 19 Javascript
js弹出层(jQuery插件形式附带reLoad功能)
Apr 12 Javascript
固定表格行列(expression)在IE下适用
Jul 25 Javascript
jQuery中append()方法用法实例
Dec 25 Javascript
简介JavaScript中strike()方法的使用
Jun 08 Javascript
jquery实现超简洁的TAB选项卡效果代码
Aug 28 Javascript
javascript replace()第二个参数为函数时的参数用法
Dec 26 Javascript
详解在微信小程序的JS脚本中使用Promise来优化函数处理
Mar 06 Javascript
JavaScript封闭函数及常用内置对象示例
May 13 Javascript
javascript系统时间设置操作示例
Jun 17 Javascript
vue实现下拉菜单树
Oct 22 Javascript
超详细小程序定位地图模块全系列开发教学
Nov 24 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
杏林同学录(三)
2006/10/09 PHP
php操作memcache缓存方法分享
2015/06/03 PHP
用php代码限制国内IP访问我们网站
2015/09/26 PHP
反射调用private方法实践(php、java)
2015/12/21 PHP
Laravel5.4框架使用socialite实现github登录的方法
2019/03/20 PHP
PHP的介绍以及优势详细分析
2019/09/05 PHP
javascript 多浏览器 事件大全
2010/03/23 Javascript
jquery $.ajax()取xml数据的小问题解决方法
2010/11/20 Javascript
JavaScript入门之事件、cookie、定时等
2011/10/21 Javascript
基于jquery的has()方法以及与find()方法以及filter()方法的区别详解
2013/04/26 Javascript
javascript计算当月剩余天数(天数计算器)示例代码
2014/01/09 Javascript
使用nodejs、Python写的一个简易HTTP静态文件服务器
2014/07/18 NodeJs
javascript根据时间生成m位随机数最大13位
2014/10/30 Javascript
客户端验证用户名和密码的方法详解
2016/06/16 Javascript
初探js和简单隐藏效果的实例
2017/11/23 Javascript
Vue项目中使用better-scroll实现一个轮播图自动播放功能
2018/12/03 Javascript
微信小程序使用Vant Weapp组件库的方法步骤
2019/08/01 Javascript
vue+element搭建后台小总结 el-dropdown下拉功能
2020/04/10 Javascript
vue3 watch和watchEffect的使用以及有哪些区别
2021/01/26 Vue.js
python正则表达式match和search用法实例
2015/03/26 Python
python实现2048小游戏
2015/03/30 Python
实例讲解Python编程中@property装饰器的用法
2016/06/20 Python
Pyqt实现无边框窗口拖动以及窗口大小改变
2018/04/19 Python
十行代码使用Python写一个USB病毒
2019/06/21 Python
Django在pycharm下修改默认启动端口的方法
2019/07/26 Python
pandas DataFrame行或列的删除方法的实现示例
2019/08/02 Python
win10系统Anaconda和Pycharm的Tensorflow2.0之CPU和GPU版本安装教程
2019/12/03 Python
python re模块匹配贪婪和非贪婪模式详解
2020/02/11 Python
CSS3弹性伸缩布局之box布局
2016/07/12 HTML / CSS
小学生家长寄语
2014/04/02 职场文书
计划生育宣传标语
2014/06/21 职场文书
2015年超市工作总结范文
2015/05/26 职场文书
2015年第31个教师节致辞
2015/07/31 职场文书
《鸟的天堂》教学反思
2016/02/19 职场文书
JS数组的常用方法整理
2021/03/31 Javascript
Golang流模式之grpc的四种数据流
2022/04/13 Golang