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实现self的resend
Jul 22 Javascript
boxy基于jquery的弹出层对话框插件扩展应用 弹出层选择器
Nov 21 Javascript
js控制容器隐藏出现防止样式变化的两种方法
Apr 25 Javascript
常用jQuery代码分享
Jul 14 Javascript
教你如何在Node.js中使用jQuery
Aug 28 Javascript
分享一个原生的JavaScript拖动方法
Sep 25 Javascript
jQuery Validate表单验证插件的基本使用方法及功能拓展
Jan 04 Javascript
vue综合组件间的通信详解
Nov 06 Javascript
JavaScript生成指定范围的时间列表
Mar 19 Javascript
vscode vue 文件模板的配置方法
Jul 23 Javascript
使用 Element UI Table 的 slot-scope方法
Oct 10 Javascript
js实现盒子滚动动画效果
Aug 09 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模拟SQL Server的两个日期处理函数
2006/10/09 PHP
ThinkPHP有变量的where条件分页实例
2014/11/03 PHP
php使用google地图应用实例
2014/12/31 PHP
Laravel中如何增加自定义全局函数详解
2017/05/09 PHP
Laravel网站打开速度优化的方法汇总
2017/07/16 PHP
php检查函数必传参数是否存在的实例详解
2017/08/28 PHP
php的instanceof和判断闭包Closure操作示例
2020/01/26 PHP
用一段js程序来实现动画功能
2007/03/06 Javascript
JavaScript字符串插入、删除、替换函数使用示例
2013/07/25 Javascript
JS小功能(onmouseover实现选择月份)实例代码
2013/11/28 Javascript
10个JavaScript中易犯小错误
2016/02/14 Javascript
给angular加上动画效遇到的问题总结
2016/02/17 Javascript
js绘制购物车抛物线动画
2020/11/18 Javascript
利用AngularJs实现京东首页轮播图效果
2016/09/08 Javascript
JS实现页面跳转参数不丢失的方法
2016/11/28 Javascript
微信小程序组件 contact-button(客服会话按钮)详解及实例代码
2017/01/10 Javascript
微信小程序使用slider设置数据值及switch开关组件功能【附源码下载】
2017/12/09 Javascript
vue-resource请求实现http登录拦截或者路由拦截的方法
2018/07/11 Javascript
解决layui的form里的元素进行动态生成,验证失效的问题
2019/09/14 Javascript
python实现折半查找和归并排序算法
2017/04/14 Python
python向已存在的excel中新增表,不覆盖原数据的实例
2018/05/02 Python
解决使用PyCharm时无法启动控制台的问题
2019/01/19 Python
python从子线程中获得返回值的方法
2019/01/30 Python
CSS3选择器新增问题的实现
2021/01/21 HTML / CSS
局域网标准
2016/09/10 面试题
XMLHttpRequest对象在IE和Firefox中创建方式有没有不同
2016/03/23 面试题
主要的Ajax框架都有什么
2013/11/14 面试题
幼儿园大班教学反思
2014/02/10 职场文书
大学生先进事迹材料
2014/02/16 职场文书
《秋游》教学反思
2014/04/24 职场文书
英文演讲稿
2014/05/15 职场文书
课外访万家心得体会
2014/09/03 职场文书
教师党员批评与自我批评发言稿
2014/10/15 职场文书
2015年党风廉政建设责任书
2015/01/29 职场文书
2016入党积极分子党校培训心得体会
2016/01/06 职场文书
CSS实现章节添加自增序号的方法
2021/06/23 HTML / CSS