zoukankan      html  css  js  c++  java
  • Ajax方法综述

    1.使用load()方法异步请求数据

     1 <body>
     2         <div id="divtest">
     3             <div class="title">
     4                 <span class="fl">我最爱吃的水果</span> 
     5                 <span class="fr">
     6                     <input id="btnShow" type="button" value="加载" />
     7                 </span>
     8             </div>
     9             <ul></ul>
    10         </div>
    11         
    12         <script type="text/javascript">
    13             $(function () {
    14                 $("#btnShow").bind("click", function () {
    15                     var $this = $(this);
    16                     $("ul")
    17                     .html("<img src='Images/Loading.gif' alt=''/>")
    18                     .load("http://www.imooc.com/data/fruit_part.html li",function(){
    19                      $this.attr("disabled", "true");
    20                     });
    21                 })
    22             });
    23         </script>
    24 </body>
     
    注:load(url,[data],[callback])   this就是当前的意思,前面定义了一个名为$(this)的变量,相当于获取当前选的选项,这节里面当前选项是ID为btnShow的按钮

    $this.attr("disabled", "true");意思是将ID为btnShow的按钮设置为不可用

    参数url为加载服务器地址,可选项data参数为请求时发送的数据,callback参数为数据请求成功后,执行的回调函数。

    在id号为test的div元素中,异步加载一个完整页面b.html的方法是:      $("#test").load("b.html");

     
     
    2.使用getJSON()方法异步加载JSON格式数据 

    jQuery.getJSON(url,[data],[callback])$.getJSON(url,[data],[callback])

    其中,url参数为请求加载json格式文件的服务器地址,可选项data参数为请求时发送的数据,callback参数为数据请求成功后,执行的回调函数。

    例如,点击页面中的“加载”按钮,调用getJSON()方法获取服务器中JSON格式文件中的数据,并遍历数据,将指定的字段名内容显示在页面中。

     

     1  <script type="text/javascript">
     2 
     3             $(function () {
     4 
     5                 $("#btnShow").bind("click", function () {
     6 
     7                     var $this = $(this);
     8 
     9                     $.getJSON("http://www.imooc.com/data/sport.json", function(data) {
    10 
    11                         $this.attr("disabled", "true");
    12 
    13                         $.each(data, function (index, sport) {
    14 
    15                             if(index==3)
    16 
    17                             $("ul").append("<li>" + sport["name"] + "</li>");
    18 
    19                         });
    20 
    21                     });
    22 
    23                 })
    24 
    25             });
    26 
    27 </script>

    3.使用getScript()方法异步加载并执行js文件

    使用getScript()方法异步请求并执行服务器中的JavaScript格式的文件,它的调用格式如下所示:

    jQuery.getScript(url,[callback])$.getScript(url,[callback])

    参数url为服务器请求地址,可选项callback参数为请求成功后执行的回调函数。

     

     
    4.使用get()方法以GET方式从服务器获取数据

    使用get()方法时,采用GET方式向服务器请求数据,并通过方法中回调函数的参数返回请求的数据,它的调用格式如下:

    $.get(url,[callback])

    参数url为服务器请求地址,可选项callback参数为请求成功后执行的回调函数。

    例如,当点击“加载”按钮时,调用get()方法向服务器中的一个.php文件以GET方式请求数据,并将返回的数据内容显示在页面中,如下图所示:

    $.get()方法

     1 $(function(){
     2 $().bind("click",function(){
     3 var $this=$(this);
     4 $.get(url,function(data){
     5 $this.attr("disable","true");
     6 $().append("<li>name:"+data.name+"</li>")
     7 $().append("<li>age:"+data.age+"</l
     8 },"json")
     9 })
    10 })
     
    5.使用post()方法以POST方式从服务器发送数据

    post()方法多用于以POST方式向服务器发送数据,服务器接收到数据之后,进行处理,并将处理结果返回页面,调用格式如下:

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

    参数url为服务器请求地址,可选项data为向服务器请求时发送的数据,可选项callback参数为请求成功后执行的回调函数。

    在输入框中录入一个数字,点击“检测”按钮,调用post()方法向服务器以POST方式发送请求,检测输入值的奇偶性,并显示在页面中,如下图所示:

     
    6.使用serialize()方法序列化表单元素值

    使用serialize()方法可以将表单中有name属性的元素值进行序列化,生成标准URL编码文本字符串,直接可用于ajax请求,它的调用格式如下:

    $(selector).serialize()

    其中selector参数是一个或多个表单中的元素或表单元素本身。

    1 $functio () {
    2    $("#btnAction").bind("click",function(){
    3          $("#litest").html($("form").serialize());
    4 })
     
    7.使用ajax()方法加载服务器数据

    使用ajax()方法是最底层、功能最强大的请求服务器数据的方法,它不仅可以获取服务器返回的数据,还能向服务器发送请求并传递数值,它的调用格式如下:

    jQuery.ajax([settings])$.ajax([settings])

    其中参数settings为发送ajax请求时的配置对象,在该对象中,url表示服务器请求的路径,data为请求时传递的数据,dataType为服务器返回的数据类型,success为请求成功的执行的回调函数,type为发送数据请求的方式,默认为get。

     1 <script type="text/javascript">
     2 
     3             $(function () {
     4 
     5                 $("#btnCheck").bind("click", function () {
     6 
     7                     $.ajax({
     8 
     9                         url:"http://www.imooc.com/data/check.php",
    10 
    11                         data: { num: $("#txtNumber").val() },
    12 
    13                         dataType:"text",
    14 
    15                         type:'post',
    16 
    17                         success: function (data) {
    18 
    19                             alert(data);
    20 
    21                             $("ul").append("<li>你输入的<b>  "
    22 
    23                             + $("#txtNumber").val() + " </b>是<b> "
    24 
    25                             + data + " </b></li>");
    26 
    27                         }
    28 
    29                     });
    30 
    31                 })
    32 
    33             });
    34 
    35 </script>

    8.使用ajaxSetup()方法设置全局Ajax默认选项

    使用ajaxSetup()方法可以设置Ajax请求的一些全局性选项值,设置完成后,后面的Ajax请求将不需要再添加这些选项值,它的调用格式为:

    jQuery.ajaxSetup([options])$.ajaxSetup([options])

    可选项options参数为一个对象,通过该对象设置Ajax请求时的全局选项值。

     

     
     
    9.使用ajaxStart()和ajaxStop()方法

    ajaxStart()ajaxStop()方法是绑定Ajax事件。ajaxStart()方法用于在Ajax请求发出前触发函数,ajaxStop()方法用于在Ajax请求完成后触发函数。它们的调用格式为:

    $(selector).ajaxStart(function())$(selector).ajaxStop(function())

    其中,两个方法中括号都是绑定的函数,当发送Ajax请求前执行ajaxStart()方法绑定的函数,请求成功后,执行ajaxStop ()方法绑定的函数。

    例如,在调用ajax()方法请求服务器数据前,使用动画显示正在加载中,当请求成功后,该动画自动隐藏,如下图所示:

     
    10.定义一个json对象,用于保存学生的相关资料
     1 <!DOCTYPE html>
     2 <html>
     3     <head>
     4         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />       
     5         <title>挑战题</title>
     6         <style>
     7             .ui-table {margin: 20px auto; border-collapse: collapse; font-size: 12px; text-align: center; color: #666;}
     8 .ui-table th, .ui-table td {padding: 4px 8px; border: 1px solid #ccc;}
     9 .ui-table th {}
    10         </style>
    11         <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
    12     </head>
    13     <body>
    14         <table class="ui-table" width="800" id="studentInfo">
    15             <caption><h2>XX中学学生资料</h2></caption>
    16             <thead>
    17             <tr>
    18                 <th style="45px">序号</th>
    19                 <th>姓名</th>
    20                 <th>学号</th>
    21                 <th>性别</th>
    22                 <th>年龄</th>
    23                 <th>所在班级</th>
    24                 <th>富二代</th>
    25             </tr>
    26             </thead>
    27             <tbody>
    28                 <tr>
    29                 <td colspan="7">
    30                 <input type="button" value="加载资料" onclick="DisplayInfo()">
    31                 </td>
    32                 </tr>
    33             </tbody>
    34         </table>
    35         <script>
    36         var students = [
    37             {"name": "张三", "id": "00145", "sex": "", "age": "15", "class": "初一(3)班", "vip": ""},
    38             {"name": "李四", "id": "00110", "sex": "", "age": "15", "class": "初二(2)班", "vip": ""},
    39             {"name": "王五", "id": "00251", "sex": "", "age": "17", "class": "初一(4)班", "vip": ""},
    40             {"name": "赵六", "id": "00031", "sex": "", "age": "16", "class": "初二(3)班", "vip": ""},
    41             {"name": "吴七", "id": "00009", "sex": "", "age": "19", "class": "初三(6)班", "vip": ""},
    42             {"name": "候八", "id": "00352", "sex": "", "age": "14", "class": "初一(2)班", "vip": ""},
    43         ];     
    44         function DisplayInfo() {
    45             var tbody = $("#studentInfo").find("tbody");
    46             tbody.empty();
    47             $.each(students,function(index, data) {
    48             tbody.append(
    49             "<tr><td>" + parseInt(index+1) + "</td><td>" +
    50           data.name + "</td><td>" +
    51           data.id +   "</td><td>" +
    52           data.sex +   "</td><td>" +
    53           data.age +   "</td><td>" +
    54           data.class +   "</td><td>" +
    55           data.vip +   "</td></tr>");
    56             });
    57         }
    58         </script>
    59     </body>
    60 </html>
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
    我的个人博客,欢迎来访问!网址:http://www.miuu.club
  • 相关阅读:
    Linux内核学习笔记(6)-- 进程优先级详解(prio、static_prio、normal_prio、rt_priority)
    Cuteftp连接虚拟机Centos7
    Linux内核学习笔记(5)-- 进程调度概述
    Linux内核学习笔记(4)-- wait、waitpid、wait3 和 wait4
    Linux内核学习笔记(3)-- 进程的创建和终结
    Linux内核学习笔记(2)-- 父进程和子进程及它们的访问方法
    Linux内核学习笔记(1)-- 进程管理概述
    汇编基础--标识符、标号、伪指令和指令
    JAVA学习笔记--正则表达式
    JAVA学习笔记--字符串概述
  • 原文地址:https://www.cnblogs.com/yu520zhong/p/4843727.html
Copyright © 2011-2022 走看看