ajax 局部替换元素,jQuery中Ajax的局部方法load()

本文介绍了jQuery对Ajax的三层封装,包括$.ajax(), .load(), $.get(), 和 $.post(),并详细讲解了.load()方法的用法和回调函数的参数。重点展示了如何使用Ajax实现数据加载、提交以及回调处理。
摘要由CSDN通过智能技术生成

jQuery 对Ajax 做了大量的封装,我们使用起来也较为方便,不需要去考虑浏览器兼容性。对于封装的方式,jQuery 采用了三层封装:最底层的封装方法为:$.ajax(),而通过这层封装了第二层有三种方法:.load()、$.get()和$.post(),最高层是$.getScript()和$.getJSON()方法。

其中.load()是局部方法,其他为全局方法

.load()方法可以参数三个参数: url(必须, 请求 html文件的 url地址, 参数类型为String)、data(可选,发送的 key/value 数据,参数类型为Object)、callback(可选,成功或失败的回调函数,参数类型为函数 Function)。

$('input').click(function () {$('#box').load('test.html');}); //异步获取test.html文件内容并添加到#box元素内

.load()前面必须有一个将要把获取内容添加到的元素。

如果想对载入的HTML 进行筛选,那么只要在 url参数后面跟着一个选择器即可(目前只支持class类的筛选)。

$('input').click(function () {$('#box').load('test.html .my');}); //获取到的内容中只把class类名为my的元素添加,其他过滤掉(url和class中间有一个空格)

一般ajax不仅需要载入数据,还需要向服务器提交数据,我们就可以使用第二个可选参数data(如果设置了该参数,传递方式为post,否则为get)。

$('input').click(function () {$('#box').load('test.php',{type:'post'});}); //用post方式传递参数

在Ajax数据载入完毕之后,就能执行回调函数callback,也就是第三个参数。回调函数也可以传递三个可选参数:responseText(请求返回)、textStatus(请求状态)、XMLHttpRequest(XMLHttpRequest对象)。

$('input').click(function () {$('#box').load('test.php', {url : 'ycku'}, function (response, status, xhr) {

alert('返回的内容为:' + response + ',状态为:' + status + '});

});

第一个参数是返回的内容,第二个参数是返回的加载状态,成功为"success",失败为"error"。第三个参数为一个对象,属于JavaScript范畴,可以调用一些属性如下:

responseText:作为响应主体被返回的内容

responseXML:如果响应主体内容类型是"text/xml"或"application/xml",则返回包含响应数据的XML DOM 文档

status:响应的HTTP状态码

statusText:HTTP 状态的说明

其实第三个参数已经包含了第一个和第二个参数的内容,但是jQuery中为了方便把最常用的单独拿了出来。

最后编辑:2019-12-13作者:qingheluo

5aea90233e4bbc88135a027c2de2596a.png

这个作者貌似有点懒,什么都没有留下。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值