码迷,mamicode.com
首页 > Web开发 > 详细

Ajax(慕课网)

时间:2015-09-28 13:08:27      阅读:241      评论:0      收藏:0      [点我收藏+]

标签:

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

<body>
        <div id="divtest">
            <div class="title">
                <span class="fl">我最爱吃的水果</span> 
                <span class="fr">
                    <input id="btnShow" type="button" value="加载" />
                </span>
            </div>
            <ul></ul>
        </div>
        
        <script type="text/javascript">
            $(function () {
                $("#btnShow").bind("click", function () {
                    var $this = $(this);
                    $("ul")
                    .html("<img src=‘Images/Loading.gif‘ alt=‘‘/>")
                    .load("http://www.imooc.com/data/fruit_part.html li",function(){
                     $this.attr("disabled", "true");
                    });
                })
            });
        </script>
</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格式文件中的数据,并遍历数据,将指定的字段名内容显示在页面中。

 

 <script type="text/javascript">

            $(function () {

                $("#btnShow").bind("click", function () {

                    var $this = $(this);

                    $.getJSON("http://www.imooc.com/data/sport.json", function(data) {

                        $this.attr("disabled", "true");

                        $.each(data, function (index, sport) {

                            if(index==3)

                            $("ul").append("<li>" + sport["name"] + "</li>");

                        });

                    });

                })

            });

</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()方法

$(function(){
$().bind("click",function(){
var $this=$(this);
$.get(url,function(data){
$this.attr("disable","true");
$().append("<li>name:"+data.name+"</li>")
$().append("<li>age:"+data.age+"</l
},"json")
})
})

 
5.使用post()方法以POST方式从服务器发送数据

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

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

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

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

技术分享

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

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

$(selector).serialize()

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

技术分享

 

 

 

 

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

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

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

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

技术分享

 

<script type="text/javascript">

            $(function () {

                $("#btnCheck").bind("click", function () {

                    $.ajax({

                        url:"http://www.imooc.com/data/check.php",

                        data: { num: $("#txtNumber").val() },

                        dataType:"text",

                        type:‘post‘,

                        success: function (data) {

                            alert(data);

                            $("ul").append("<li>你输入的<b>  "

                            + $("#txtNumber").val() + " </b>是<b> "

                            + data + " </b></li>");

                        }

                    });

                })

            });

        </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对象,用于保存学生的相关资料
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />       
        <title>挑战题</title>
        <style>
         .ui-table {margin: 20px auto; border-collapse: collapse; font-size: 12px; text-align: center; color: #666;}
.ui-table th, .ui-table td {padding: 4px 8px; border: 1px solid #ccc;}
.ui-table th {}
        </style>
        <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
    </head>
    <body>
        <table class="ui-table" width="800" id="studentInfo">
            <caption><h2>XX中学学生资料</h2></caption>
            <thead>
            <tr>
                <th style="width:45px">序号</th>
                <th>姓名</th>
                <th>学号</th>
                <th>性别</th>
                <th>年龄</th>
                <th>所在班级</th>
                <th>富二代</th>
            </tr>
            </thead>
            <tbody>
             <tr>
             <td colspan="7">
             <input type="button" value="加载资料" onclick="DisplayInfo()">
             </td>
             </tr>
            </tbody>
        </table>
        <script>
        var students = [
         {"name": "张三", "id": "00145", "sex": "男", "age": "15", "class": "初一(3)班", "vip": "否"},
         {"name": "李四", "id": "00110", "sex": "女", "age": "15", "class": "初二(2)班", "vip": "否"},
         {"name": "王五", "id": "00251", "sex": "男", "age": "17", "class": "初一(4)班", "vip": "是"},
         {"name": "赵六", "id": "00031", "sex": "女", "age": "16", "class": "初二(3)班", "vip": "否"},
         {"name": "吴七", "id": "00009", "sex": "女", "age": "19", "class": "初三(6)班", "vip": "否"},
         {"name": "候八", "id": "00352", "sex": "男", "age": "14", "class": "初一(2)班", "vip": "是"},
        ];     
        function DisplayInfo() {
         var tbody = $("#studentInfo").find("tbody");
         tbody.empty();
         $.each(students,function(index, a) {
         tbody.append(
         "<tr><td>" + parseInt(index+1) + "</td><td>" +
  a.name + "</td><td>" +
          a.id +   "</td><td>" +
       a.sex +   "</td><td>" +
       a.age +   "</td><td>" +
       a.class +   "</td><td>" +
       a.vip +   "</td></tr>");
         });
        }
        </script>
    </body>
</html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Ajax(慕课网)

标签:

原文地址:http://www.cnblogs.com/yu520zhong/p/4843727.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!