jQuery实现Ajax的封装

load方法

  • load(url,[data],[callback])。data为提交的数据,callback为回调函数,回调函数可以传三个参数,response stutas xhr,第一个参数为从服务器端返回的内容,第二个参数为响应状态success或error,第三个参数为底层js中XMLHttpRequest对象
  • $(’#box’).load(url)。可直接将从目标地址获取的内容加载填充到当前页面的某处。

全局方法get()

  • $.get(url,[data],[callback],type) type表示返回内容的格式,若不设置返回原本格式,强行转化可能会获取失败

全局方法post()

  • $.post(url,[data],[callback])。

全局方法getJSON()

  • $.getJSON()(url,[data],[callback])。
  • 用于特定情况下加载json文件

全局方法getSCRIPT()

  • $.getSCRIPT()(url,[data],[callback])。
  • 用于特定情况下加载js文件。一般不用。

全局方法ajax()

  • 只ajax()方法只传递一个参数,即一个包含若干键值对的对象。
  • 最常用的格式:
$.ajax({
  url:, //请求的地址
  type:, //请求的方式'GET'或'POST'
  data:{
        },  //提交的信息
  dataType: 'json',//设置返回内容的数据类型
  timeout:  ,//设置超时,请求超过了这个时间值就会结束请求
  global: ,//设置是否触发全局事件,true或false
  error: function(xhr,errorText,errorType){//响应失败时执行的错误处理函数
  ,会传三个参数,xhr对象,错误信息,错误类型
       }
  success:function(response,stutas,xhr){//响应成功后执行的回调函数
     console.log(response);
      },
  beforeSend : function(){//请求开始之前触发该事件
},
complete : function(){//请求结束之后触发该事件
}
})

表单序列化

  • 常规数据提交方式:假设提交数据为表单中的用户名和邮箱地址
    data:{
    user:document.getElementById(‘user’),
    emall:document.getElementById(‘emall’)//用dom方法或其他方法只要能获取到数据都行
    }
  • 表单序列化:
    data:$(‘form’).serialize(),//序列化后得到的是字符串形式的数据键值对,并且对url进行了编码。函数serialize()的作用对象可以是整个表单也可以是一个表单元素,但只能是jQuery对象。
  • param()方法
    $.param()方法是serialize()方法的核心,用来对一个数组或对象按照key/value进行序列化。
    对于第一种直接传递一个对象的提交方式,可以用此函数对整个对象进行序列化。
data:$ .param({
     user:document.getElementById('user'),
     emall:document.getElementById('emall')
    } )
  • serializeArray()方法
    serializeArray方法是将一个表单当中的各个字段序列化成一个json格式的数组。

加载请求

 jQuery提供两个全局事件。.ajaxStart和.ajaxStop。Ajax请求开始时会触发开始事件,请求结束时会触发结束事件。
$(document).ajaxStart(function(){
     //请求开始时触发的行为
        }).ajaxStop(function(){
     //请求结束时触发的行为
})

jQuery xhr对象

jqXHR对象就是$.ajax()方法返回的对象,它是jsXHR对象的一个超集。

var jqXHR = $.ajax(
            url:, //请求的地址
            type:, //请求的方式'GET'或'POST'
            data:{
                      },  //提交的信息
             );

jqXHR对象提供了许多新的属性与方法,支持以连缀的方式去写。可以多次执行同一个回调函数,而不会被覆盖。

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
jQueryajax封装主要分为三个步骤。首先,需要引入jQuery库。然后,通过代码实例来讲解。最后,根据代码注释来理解封装过程。 具体来说,封装的步骤如下: 1. 第一步:引入jQuery库。用户需要在页面中引入jQuery的库文件,可以通过以下方式引入: ``` <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> ``` 这样就可以在页面中使用jQuery的功能了。 2. 第二步:使用jQueryajax方法进行封装。用户可以通过以下代码将ajax请求进行封装: ``` $('#id').click(function(){ $.ajax({ url: "http://localhost:3000/ind", type: "post/get", data: $('form').serialize(), dataType: 'json', success: function(result){ // 请求成功后的回调函数,result中存放的是服务器的响应数据 }, error: function(err){ console.log(err); } }); }); ``` 在这段代码中,通过给一个元素绑定点击事件,当该元素被点击时,发起ajax请求。可以根据实际需求,修改url、type、data等参数来满足不同的请求。 3. 第三步:高层封装。除了使用jQueryajax方法,还可以使用高层封装的post请求实现简洁的代码,代码如下: ``` $.post(url, [data], [callback], [type]); ``` 其中,url是请求的地址,data是待发送的参数,callback是请求成功后的回调函数,type是返回内容的格式。 综上所述,jQueryajax封装通过引入jQuery库、使用ajax方法进行封装以及高层封装实现。这样可以简化代码,提高开发效率。同时,原生的Ajax也是一种封装方式,可以使用XMLHttpRequest对象来发送异步请求,通过open方法建立与服务器的连接,设置请求头信息,然后通过send方法向服务器发送请求,并通过onreadystatechange事件监听请求-响应状态的改变,并将响应信息写入页面。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值