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 IE 与 FF中兼容问题小结
Feb 18 Javascript
IE8 下的Js错误HTML Parsing Error...
Aug 14 Javascript
jQuery 事件的命名空间简单了解
Nov 22 Javascript
javascript搜索框点击文字消失失焦时文本出现
Sep 18 Javascript
jQuery中queue()方法用法实例
Dec 29 Javascript
JavaScript检测并限制复选框选中个数的方法
Aug 12 Javascript
js实现横向伸展开的二级导航菜单代码
Aug 28 Javascript
jquery实现左右滑动式轮播图
Mar 02 Javascript
JavaScript组件开发之输入框加候选框
Mar 10 Javascript
微信小程序 实现点击添加移除class
Jun 12 Javascript
JS引用传递与值传递的区别与用法分析
Jun 01 Javascript
vue-cli 3如何使用vue-bootstrap-datetimepicker日期插件
Feb 20 Vue.js
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
phpwind中的数据库操作类
2007/01/02 PHP
一个PHP缓存类代码(附详细说明)
2011/06/09 PHP
apache和php之间协同工作的配置经验分享
2013/04/08 PHP
PHP删除HTMl标签的实现代码
2013/06/30 PHP
php轻松实现中英文混排字符串截取
2014/05/28 PHP
CodeIgniter中使用Smarty3基本配置
2015/06/29 PHP
PHP面向对象程序设计中的self、static、parent关键字用法分析
2019/08/14 PHP
javascript 选择文件夹对话框(web)
2009/07/07 Javascript
jquery 模式对话框终极版实现代码
2009/09/28 Javascript
jQuery setTimeout()函数使用方法
2013/04/07 Javascript
JS实现点击下载的小例子
2013/07/10 Javascript
js定时调用方法成功后并停止调用示例
2014/04/08 Javascript
JavaScript实现MIPS乘法模拟的方法
2015/04/17 Javascript
JavaScript实现搜索框的自动完成功能(一)
2016/02/25 Javascript
Bootstrap3 Grid system原理及应用详解
2016/09/30 Javascript
原生JS实现层叠轮播图
2017/05/17 Javascript
Vuejs中使用markdown服务器端渲染的示例
2017/11/22 Javascript
详解使用Next.js构建服务端渲染应用
2018/07/10 Javascript
vue 中的 render 函数作用详解
2020/02/28 Javascript
js实现浏览器打印功能的示例代码
2020/07/15 Javascript
wxPython窗口的继承机制实例分析
2014/09/28 Python
利用python实现简单的循环购物车功能示例代码
2017/07/05 Python
python利用dir函数查看类中所有成员函数示例代码
2017/09/08 Python
Python解析命令行读取参数--argparse模块使用方法
2018/01/23 Python
python 读写文件,按行修改文件的方法
2018/07/12 Python
老生常谈python中的重载
2018/11/11 Python
python读取txt文件,去掉空格计算每行长度的方法
2018/12/20 Python
解决在pycharm运行代码,调用CMD窗口的命令运行显示乱码问题
2019/08/23 Python
python的等深分箱实例
2019/11/22 Python
python pyecharts 实现一个文件绘制多张图
2020/05/13 Python
JD Sports西班牙:英国领先的运动服装公司
2020/01/06 全球购物
法律进机关实施方案
2014/03/12 职场文书
小学生倡议书范文
2014/05/13 职场文书
2015年社区矫正工作总结
2015/04/21 职场文书
mysql 乱码 字符集latin1转UTF8
2022/04/19 MySQL
MySql数据库触发器使用教程
2022/06/01 MySQL