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 相关文章推荐
Array对象方法参考
Oct 03 Javascript
通过 Dom 方法提高 innerHTML 性能
Mar 26 Javascript
基于jQuery的图片左右无缝滚动插件
May 23 Javascript
javascript 使td内容不换行不撑开
Nov 29 Javascript
如何使用AngularJs打造权限管理系统【简易型】
May 09 Javascript
Web打印解决方案之证件套打的实现思路
Aug 29 Javascript
JS实现复制内容到剪贴板功能
Feb 05 Javascript
Angular.JS利用ng-disabled属性和ng-model实现禁用button效果
Apr 05 Javascript
详解vue-router 2.0 常用基础知识点之导航钩子
May 10 Javascript
详解webpack 如何集成第三方js库
Jun 29 Javascript
web前端vue之CSS过渡效果示例
Jan 10 Javascript
使用jquery DataTable和ajax向页面显示数据列表的方法
Aug 09 jQuery
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实现复制移动文件的方法
2015/07/29 PHP
php实现异步数据调用的方法
2015/12/24 PHP
PHP入门教程之图像处理技巧分析
2016/09/11 PHP
jQuery autocomplete插件修改
2009/04/17 Javascript
jQuery 添加/移除CSS类实现代码
2010/02/11 Javascript
jquery.validate使用攻略 第一部
2010/07/01 Javascript
javascript 函数调用的对象和方法
2010/07/01 Javascript
JavaScript用Number方法实现string转int
2014/05/13 Javascript
seaJs的模块定义和模块加载浅析
2014/06/06 Javascript
基于jQuery实现动态数字展示效果
2015/08/12 Javascript
JS获取CSS样式(style/getComputedStyle/currentStyle)
2016/01/19 Javascript
jquery实现的判断倒计时是否结束代码
2016/02/05 Javascript
一步一步封装自己的HtmlHelper组件BootstrapHelper(二)
2016/09/14 Javascript
火狐和ie下获取javascript 获取event的方法(推荐)
2016/11/26 Javascript
jQuery实现背景滑动菜单
2016/12/02 Javascript
Angular2 Service实现简单音乐播放器服务
2017/02/24 Javascript
JS中Map和ForEach的区别
2018/02/05 Javascript
还不懂递归?读完这篇文章保证你会懂
2018/07/29 Javascript
微信小程序实现多选功能
2018/11/04 Javascript
nodejs 使用 js 模块的方法实例详解
2018/12/04 NodeJs
详解Nodejs get获取远程服务器接口数据
2019/03/26 NodeJs
Vue按时间段查询数据组件使用详解
2020/08/21 Javascript
Swiper实现导航栏滚动效果
2020/10/16 Javascript
python实现挑选出来100以内的质数
2015/03/24 Python
使用python 写一个静态服务(实战)
2019/06/28 Python
python3操作注册表的方法(Url protocol)
2020/02/05 Python
opencv python 图片读取与显示图片窗口未响应问题的解决
2020/04/24 Python
三星美国官网:Samsung美国
2017/02/06 全球购物
如何获得EntityManager
2014/02/09 面试题
酒店总经理欢迎词
2014/01/08 职场文书
工作失误检讨书范文大全
2014/01/13 职场文书
社区活动总结报告
2014/05/05 职场文书
宣传活动总结范文
2014/07/01 职场文书
2014年政风行风评议工作总结
2014/10/21 职场文书
2016五四青年节活动总结范文
2016/04/06 职场文书
SpringCloud的JPA连接PostgreSql的教程
2021/06/26 Java/Android