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动作,都会对其产生影响。

  • 相关阅读:
    11 Apr 18 类与对象 对象的使用 一切皆对象
    10 Apr 18 项目构架 hashlib模块 subprocess模块 configparser模块 面向对象的编程 类与对象
    9 Apr 18 shelve模块 xml模块 re模块
    8 Apr 18 包的使用 常用模块
    定义一个Student类,包含名字一个数据成员,定义无参构造函数、有参构造函数、拷贝构造函数、析构函数及对于名字的封装函数,在main函数中实例化Student对象,并访问相关函数,观察运行结果。
    皮马印第安人糖尿病数据集免费下载分享
    机器学习之模型训练(二)皮马印第安人糖尿病数据集
    anaconda的虚拟环境sklearn中如何安装pandas
    人工智能之模型评估之参数选择
    人工智能之模型评估之数据分离
  • 原文地址:https://www.cnblogs.com/lovebing/p/7692603.html
Copyright © 2011-2022 走看看