zoukankan      html  css  js  c++  java
  • JQuery中$.get(),$.post(),$.ajax(),$.getJSON()的区别

    详细解读Jquery各Ajax函数:
    $.get(),$.post(),$.ajax(),$.getJSON()

    一、$.get(url,[data],[callback])

    说明:url为请求地址,data为请求数据的列表,callback为请求成功后的回调函数,该函数接受两个参数,第一个为服务器返回的数据,第二个参数为服务器的状态,是可选参数。

    而其中,服务器返回数据的格式其实是字符串形势,并不是我们想要的json数据格式,在此引用只是为了对比说明

    1

    2

    3

    4

    5

    $.get("data.php",$("#firstName.val()"),function(data){

       

        $("#getResponse").html(data); }//返回的data是字符串类型

           

    );

    二、$.post(url,[data],[callback],[type])

    说明:这个函数跟$.get()参数差不多,多了一个type参数,type为请求 的数据类型,可以是html,xml,json等类型,如果我们设置这个参数为:json,那么返回的格式则是json格式的,如果没有设置,就 和$.get()返回的格式一样,都是字符串的

    1

    2

    3

    4

    5

    6

    7

    $.post("data.php",$("#firstName.val()"),function(data){

        

        $("#postResponse").html(data.name);

        

    },"json"//设置了获取数据的类型,所以得到的数据格式为json类型的

        

    );

    三、$.ajax(opiton)

    说明:$.ajax()这个函数功能强大,可以对ajax进行许多精确的控制,需要详细说明的请参照相关资料

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    $.ajax({

        

        url: "ajax/ajax_selectPicType.aspx",

            

        data:{Full:"fu"},

            

        type: "POST",

            

        dataType:'json',

            

        success:CallBack,

            

        error:function(er){

            

        BackErr(er);}

        

    });

    四、$.getJSON(url,[data],[callback])

    1

    2

    3

    4

    $.getJSON("data.php",$("#firstName.val()"),function(jsonData){

       

        $("#getJSONResponse").html(jsonData.id);}//无需设置,直接获取的数据类型为json,所以调用时需要使用jsonData.id方式

    );

    进一步了解AJAX事件
    前面讨论的一些方法都有自己的事件处理机制,从页面整体来说,都只能说是局部函数。jQuery提供了AJAX全局函数的定义,以满足特殊的需求。下面是jQuery提供的所有函数(按照触发顺序排列如下):

    ajaxStart
    (全局事件) 开始新的Ajax请求,并且此时没有其他ajax请求正在进行

    beforeSend
    (局部事件) 当一个Ajax请求开始时触发。如果需要,你可以在这里设置XMLHttpRequest对象

    ajaxSend
    (全局事件) 请求开始前触发的全局事件

    success
    (局部事件) 请求成功时触发。即服务器没有返回错误,返回的数据也没有错误

    ajaxSuccess
    全局事件全局的请求成功

    error
    (局部事件) 仅当发生错误时触发。你无法同时执行success和error两个回调函数

    ajaxError
    全局事件全局的发生错误时触发

    complete
    (局部事件) 不管你请求成功还是失败,即便是同步请求,你都能在请求完成时触发这个事件

    ajaxComplete
    全局事件全局的请求完成时触发

    ajaxStop
    (全局事件) 当没有Ajax正在进行中的时候,触发局部事件在之前的函数中都有介绍,我们主要来看看全局事件。对某个对象进行全局事件监听,那么全局中的AJAX动作,都会对其产生影响。

  • 相关阅读:
    电源符号:VCC、VDD、VEE、VSS、VBAT各表示什么意思?
    Maven项目打包成war包并启动war包运行
    Jeecg-Boot 快速开发平台(前后端分离版本)
    ATX , UATX , MATX这三个板型有什么区别,ATX大板,MATX小板,UATX是什么板子。
    IO模型之NIO代码及其实践详解
    nio原理和示例代码
    jvisualvm远程监控tomcat
    jvisualvm 远程监控tomcat
    springmvc 自定义注解
    Bootstrap3基础 pagination 分页按钮 简单示例
  • 原文地址:https://www.cnblogs.com/lovebing/p/7692603.html
Copyright © 2011-2022 走看看