jQuery实现Ajax的封装

来源:互联网 发布:金字塔期货交易软件 编辑:程序博客网 时间:2024/06/05 07:59

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

原创粉丝点击