您的位置:首页 > Web前端 > JQuery

jquery制作一个简单的loading--页面参数传递

2010-11-26 10:38 441 查看
 

很多人都为javascript而感到困惑,写个效果太复杂了,有了jquery后,我们就能够很简单的写一些很漂亮的效果。而这次我要说的不是这个,是jquery对ajax的支持,下面先简单说一下jquery对ajax的一些函数

通用方式:
$.ajax(prop)     通过一个ajax请求,回去远程数据,prop是一个hash表,它可以传递的key/value有以下几种
          (String)type:数据传递方式(get或post)。
          ((String)url:数据请求页面的url
          ((String)data:传递数据的参数字符串,只适合post方式
          ((String)dataType:期待数据返回的数据格式(例如 "xml", "html", "script",或 "json")
          ((Boolean)ifModified: 当最后一次请求的相应有变化是才成功返回,默认值是false
          ((Number)timeout:设置时间延迟请求的时间。可以参考$.ajaxTimeout
          ((Boolean)global:是否为当前请求触发ajax全局事件,默认为true
          ((Function)error:当请求失败时触发的函数。
          ((Function)success:当请求成功时触发函数
          ((Function)complete:当请求完成后出发函数

1

$.ajax({url: "ajax.htm",
2

           success:function(msg){ 
3

                          $(div"#a").html(msg);
4

                 } 
5

     });
将ajax.htm返回的内容作为id为a的div内容 

1

$.ajax({ url: "ajax.aspx",
2

               type:"get",           
3

              dataType:"html",
4

              data: "name=John&location=Boston",
5

              success:function(msg){ 
6

                                  $("#a").html(msg);
7

                               } 
8

          });
用get方式向ajax.aspx页面传参数,并将返回内容负给id为a的对象。
$.ajaxTimeout(time) 设置请求结束时间
    $.ajaxTimeout( 5000 )

其它简化方式:
$.get(url, params, callback)   用get方式向远程页面传递参数,请求完成后处理函数,除了url外,其它参数任意选择

$.get( "ajax.htm" , function(data){ $("#a").html(data)   })
$.get(   "ajax.asp", 
             { name: "young", age: "25" },
             function(data){ alert("Data Loaded: " + data); }
         )
$.getIfModified(url, params, callback)   用get方式向远程页面传递参数,从最后一次请求后如果数据有变化才作出响应,执行函数callback
$.getJSON(url, params, callback)   用get方式向远程json对象传递参数,请求完成后处理函数callback。
$.getScript(url, callback)   用get方式载入并运行一个远程javascript文件。请求完成后处理函数callback。
$.post(url, params, callback)   用post方式向远程页面传递参数,请求完成后处理函数callback
load(url, params, callback)   载入一个远程文件并载入页面DOM中,并执行函数callback

$("#a").load("ajax.htm", function() { alert("load is done"); } );
向ajax.htm页面发出请求,将返回结果装入id为a的内容中,然后再执行函数callback。
loadIfModified(url, params, callback)   用get方式向远程页面传递参数,从最后一次请求后如果数据有变化才作出响应,将返回结果载入页面DOM中,并执行函数callback
ajaxStart(callback) 当ajax请求发生错误是时执行函数callback
ajaxComplete(callback)   当ajax请求完成时执行函数callback
ajaxError(callback)   当ajax请求发生错误时执行函数callback
ajaxStop(callback)   当ajax请求停止时执行函数callback
ajaxSuccess(callback)   当ajax请求成功时执行函数callback

下面就把我的简单的loading写一下
建立一个html页面

 1

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2

<html xmlns="http://www.w3.org/1999/xhtml" >
 3

<head>
 4

    <title>Untitled Page</title>
 5

     <script src="../jquery.js"></script>
 6

    <script language=javascript>
 7

    $(document).ready(
 8

                       function()
 9

                       {
10

                          $("#ajbt").click(
11

                                                function()
12

                                                {
13

                                                  $("#loadimg").ajaxStart(
14

                                                             function()
15

                                                             {
16

                                                              $("#loadimg").css("display","block");
17

                                                             }
18

                                                  );
19

                                                
20

                                                // $.ajaxTimeout( 500000000 );
21

                                                  $.ajax(
22

                                                  {
23

                                                    type: "get",
24

                                                    url: "Default2.aspx",
25

                                                    datatype:"text",
26

                                                    data: "name=John",
27

                                                    complete:function()                                                    
28

                                                    {
29

                                                    $("#loadimg").css("display","none");
30

                                                    },
31

                                                   success: function(msg){ 
32

                                                                           
33

                                                                         
34

                                                                          $("#a").html(msg); 
35

                                                                          } 
36

                                                  }
37

                                                  );
38

                                                }
39

                          );
40

                          $("#loadimg").css("display","none");
41

                       }
42

    );
43

    
44

    </script>
45

</head>
46

<body>
47

<input type=button value="ajaxdata" id="ajbt"/>
48

<div id="a"><img src=2.gif id="loadimg" ></div>
49

</body>
50

</html>
51


下面是default.aspx页面的代码

 1

 protected void Page_Load(object sender, EventArgs e)
 2

    {
 3

       System.Threading.Thread.Sleep(3000);
 4

        if (!this.IsPostBack)
 5

        {
 6

            if (Request["name"].ToString() != "")
 7

            {
 8

                httpresponse(Request["name"].ToString());
 9

            }
10

            else
11

            {
12

                httpresponse(Request["name"].ToString());
13

            }
14

        }
15

    }
16

    public void httpresponse(string name)
17

    {
18

        //HttpContext.Current.Response;
19

       HttpContext.Current.Response.Write(name);
20

    }
21

    

这样效果就出来了,感觉非常不错的jquery,继续关注jquery
转载自:http://blog.csdn.net/lee576/archive/2008/12/27/3611057.aspx
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: