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 相关文章推荐
有效的捕获JavaScript焦点的方法小结
Oct 08 Javascript
文本域光标操作的jQuery扩展分享
Mar 10 Javascript
get(0).tagName获得作用标签示例代码
Oct 08 Javascript
javascript实现按回车键切换焦点
Feb 09 Javascript
JavaScript中解析JSON数据的三种方法
Jul 03 Javascript
js中的内部属性与delete操作符介绍
Aug 10 Javascript
javascript先序遍历DOM树的方法
Feb 27 Javascript
微信小程序 canvas API详解及实例代码
Oct 08 Javascript
JS函数多个参数默认值指定方法分析
Nov 28 Javascript
浅谈js script标签中的预解析
Dec 30 Javascript
angular4中引入echarts的方法示例
Jan 29 Javascript
JavaScript 类的封装操作示例详解
May 16 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
安健A254立体声随身听的分析与打磨
2021/03/02 无线电
php利用iframe实现无刷新文件上传功能的代码
2011/09/29 PHP
mysql 查询指定日期时间内sql语句实现原理与代码
2012/12/16 PHP
php获取$_POST同名参数数组的实现介绍
2013/06/30 PHP
简单的php文件上传(实例)
2013/10/27 PHP
php文件上传的两种实现方法
2016/04/04 PHP
PHP进阶学习之类的自动加载机制原理分析
2019/06/18 PHP
laravel通用化的CURD的实现
2019/12/13 PHP
Javascript Object.extend
2010/05/18 Javascript
基于jQuery实现的水平和垂直居中的div窗口
2011/08/08 Javascript
ExtJs中gridpanel分组后组名排序实例代码
2013/12/02 Javascript
基于jQuery实现复选框的全选 全不选 反选功能
2014/11/24 Javascript
javascript自定义滚动条实现代码
2020/04/20 Javascript
JavaScript中的跨浏览器事件操作的基本方法整理
2016/05/20 Javascript
jquery+css3实现熊猫tv导航代码分享
2018/02/12 jQuery
基于vue-video-player自定义播放器的方法
2018/03/21 Javascript
微信小程序Page中data数据操作和函数调用方法
2019/05/08 Javascript
vue 中 elment-ui table合并上下两行相同数据单元格
2019/12/26 Javascript
python通过floor函数舍弃小数位的方法
2015/03/17 Python
python中PIL安装简单教程
2016/04/21 Python
python导入时小括号大作用
2017/01/10 Python
python实现音乐下载的统计
2018/06/20 Python
解决使用pycharm提交代码时冲突之后文件丢失找回的方法
2018/08/05 Python
pandas DataFrame 警告(SettingWithCopyWarning)的解决
2019/07/23 Python
手机使用python操作图片文件(pydroid3)过程详解
2019/09/25 Python
Python列表操作方法详解
2020/02/09 Python
python GUI库图形界面开发之PyQt5信号与槽机制、自定义信号基础介绍
2020/02/25 Python
详解python中的三种命令行模块(sys.argv,argparse,click)
2020/12/15 Python
诺心蛋糕官网:LE CAKE
2018/08/25 全球购物
自我鉴定范文200字
2013/10/02 职场文书
工作中个人的自我评价
2013/12/31 职场文书
初中生自我鉴定
2014/02/04 职场文书
2014年教师业务学习材料
2014/05/12 职场文书
县政府领导班子四风问题对照检查材料思想汇报
2014/09/26 职场文书
酒店采购员岗位职责
2015/04/03 职场文书
MySQL系列之十二 备份与恢复
2021/07/02 MySQL