jQuery 封装 ajax 的使用方法

Posted htmllym

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jQuery 封装 ajax 的使用方法相关的知识,希望对你有一定的参考价值。

Jquery封装Ajax主要适用于两种,一种是非跨域,一种是跨域,先来说一下非跨域的基本封装:

非跨域的封装分为两种,一种是需要区分请求方法,一种综合请求方法,即get和post请求方法都可以使用。需要区分的有两个方法,即:$.get()和$.post()方法。使用代码来演示下:

$.get()方法

$.get({

       // 对 url 地址的php文件发起请求

       url : ‘./get.php‘,

       // 请求时携带参数,参数以对象形式定义

       data : {name:‘张三‘ , pwd:123456},

                // 设定  dataType : ‘json‘, 会自动解析响应体json串

                dataType : ‘json‘,

                // 请求成功时,执行的函数

                // 函数的参数,存储响应体

                success : function(res){

                    console.log(res)

                }

            })

 

在$.get()方法中的基本参数表示

  url :发送请求的地址

  Data:发送到服务器的数据,以对象形式存储

  dataType :期望的数据类型,如果写成jsonp类型,会自动解析响应体字符串jsonp

  Success: 成功时执行的函数

 

 

$.post()方法

$.post({

                url : ‘./post.php‘,

                // 请求时携带参数,参数以对象形式定义

                data : {name:‘张三‘ , pwd:123456},

                dataType : ‘json‘,

                // 请求成功时,执行的函数

                success : function(res){

                    console.log(res)

                }

            })

在$.post()方法中的基本参数表示

  url :发送请求的地址

  Data:发送到服务器的数据,以对象形式存储

  dataType :期望的数据类型,如果写成jsonp类型,会自动解析响应体字符串jsonp

  Success: 成功时执行的函数

 

综合请求方式:$.ajax()

 

$(‘button‘).click(function(){

            $.ajax({

                url : ‘./get.php‘,

                // 请求方式,不写就是,默认值get.

                type: ‘get‘,

                // data传参参数

                data : {name:‘张三‘,pwd:123456},

                // dataType, 设定 json 解析响应体的json串

                dataType : ‘json‘,

                success : function(res){

                    console.log(res);

                    console.log(this);

                },

                 async : false,  // 设定异步

                // 请求成功不执行,请求失败才执行

                error : function(res){

                    console.log(res)

                },

                 timeout : 1,   // 超时报错,但是必须是异步执行

                cache : false,    // 如果是不缓存,会在数据后有一个 _数值 的时间戳

                                  // 告诉程序,这个结果的获取时间

                context : obj ,   // this默认指向 ajax对象 , 可以设定this的指向

            })

 

在$.ajax()方法中的基本参数表示

常用:

  url :发送请求的地址

  Type:请求方式,不写就是,默认值get.

  Data:发送到服务器的数据,以对象形式存储

  dataType :期望的数据类型,如果写成jsonp类型,会自动解析响应体字符串jsonp

  Success: 成功时执行的函数

不常用:

  async : 设定是否异步,true是异步

       error : 请求失败执行函数

       timeout :设定时间,单位是毫秒,超时报错,但是必须是异步执行

       cache : 设定是否缓存请求结果,如果是不缓存,会在数据后有一个 _数值 的时间戳, 告诉程序,这个结果的获取时间

        context :设定this的指向

 

跨域

如果需要跨域,有两种方式,一种是代理方式,一种jsonp方式

  1. 代理方式:低版本jquery不支持,如果要使用的话,要注意jquery的版本问题

(1)设置代理服务器,修改配置文件;

(2)在原来的请求地址中替换代理地址

  1. Jsonp方式:在不跨域前提下设定几个内容

(1) 设定dataType : ‘jsonp‘,      jsonp 跨域请求专门的参数

(2) 设定函数名称jsonp : ‘fun‘,       此时定义函数名称为 fun , 如果不写默认名称是 callback

以上是关于jQuery 封装 ajax 的使用方法的主要内容,如果未能解决你的问题,请参考以下文章

jQuery 封装Ajax函数FormData对象

jQuery封装的ajax方法发送jsonp请求ajax全局事件restful风格的api获取XML数据

jQuery 封装 ajax 的使用方法

封装一个类似jquery的ajax方法

jQuery封装ajax的常用方法

封装通用的 ajax, 基于 jQuery。