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 相关文章推荐
json 入门基础教程 推荐
Oct 31 Javascript
jQuery源码分析-03构造jQuery对象-源码结构和核心函数
Nov 14 Javascript
原生JS实现图片轮播与淡入效果的简单实例
Aug 21 Javascript
如何解决hover在ie6中的兼容性问题
Dec 15 Javascript
微信小程序 在线支付功能的实现
Mar 14 Javascript
Vue.js实战之通过监听滚动事件实现动态锚点
Apr 04 Javascript
JavaScript实现的商品抢购倒计时功能示例
Apr 17 Javascript
Node.js 中使用 async 函数的方法
Nov 20 Javascript
微信小程序简单实现form表单获取输入数据功能示例
Nov 30 Javascript
在create-react-app中使用sass的方法示例
Oct 01 Javascript
解决layer弹出层的内容页点击按钮跳转到新的页面问题
Sep 14 Javascript
vue-axios同时请求多个接口 等所有接口全部加载完成再处理操作
Nov 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
Terran魔法科技
2020/03/14 星际争霸
PHP自定session保存路径及删除、注销与写入的方法
2014/11/18 PHP
ThinkPHP5.0框架使用build 自动生成模块操作示例
2019/04/11 PHP
php反射学习之不用new方法实例化类操作示例
2019/06/14 PHP
jquery 锁定弹出层实现代码
2010/02/23 Javascript
Extjs3.0 checkboxGroup 动态添加item实现思路
2013/08/14 Javascript
JavaScript charCodeAt方法入门实例(用于取得指定位置字符的Unicode编码)
2014/10/17 Javascript
详解 javascript中offsetleft属性的用法
2015/11/11 Javascript
JavaScript的Vue.js库入门学习教程
2016/05/23 Javascript
Vue.js bootstrap前端实现分页和排序
2017/03/10 Javascript
基于JavaScript实现瀑布流效果
2017/03/29 Javascript
JS 中可以提升幸福度的小技巧(可以识别更多另类写法)
2018/07/28 Javascript
微信小程序如何获取手机验证码
2018/11/04 Javascript
PWA介绍及快速上手搭建一个PWA应用的方法
2019/01/27 Javascript
详解vue-cli+element-ui树形表格(多级表格折腾小计)
2019/04/17 Javascript
js实现select下拉框选择
2020/01/11 Javascript
JS pushlet XMLAdapter适配器用法案例解析
2020/10/16 Javascript
vue项目实现减少app.js和vender.js的体积操作
2020/11/12 Javascript
Nginx搭建HTTPS服务器和强制使用HTTPS访问的方法
2015/08/16 Python
python中列表和元组的区别
2017/12/18 Python
Pycharm 创建 Django admin 用户名和密码的实例
2018/05/30 Python
Django框架使用富文本编辑器Uedit的方法分析
2018/07/31 Python
python编程使用协程并发的优缺点
2018/09/20 Python
浅谈Python脚本开头及导包注释自动添加方法
2018/10/27 Python
python七夕浪漫表白源码
2019/04/05 Python
Python Web程序搭建简单的Web服务器
2019/07/31 Python
解析python的局部变量和全局变量
2019/08/15 Python
python的faker库用法
2019/11/28 Python
Tensorflow实现多GPU并行方式
2020/02/03 Python
HTML5 visibilityState属性详细介绍和使用实例
2014/05/03 HTML / CSS
印度最大的网上花店:Ferns N Petals(鲜花、礼品和蛋糕)
2017/10/16 全球购物
教师师德承诺书
2014/03/26 职场文书
三八妇女节标语
2014/10/09 职场文书
初中毕业生自我评价
2015/03/02 职场文书
督导岗位职责范本
2015/04/10 职场文书
《我们的民族小学》教学反思
2016/02/19 职场文书