很多人都为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:当请求完成后出发函数
2 success: function (msg) {
3 $(div " #a " ).html(msg);
4 }
5 } );
2 type: " get " ,
3 dataType: " html " ,
4 data: " name=John&location=Boston " ,
5 success: function (msg) {
6 $( " #a " ).html(msg);
7 }
8 } );
$.ajaxTimeout(time) 设置请求结束时间
$.ajaxTimeout( 5000 )
其它简化方式:
$.get(url, params, callback) 用get方式向远程页面传递参数,请求完成后处理函数,除了url外,其它参数任意选择 !
{ name: " young " , age: " 25 " },
function (data){ alert( " Data Loaded: " + data); }
)
$.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
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页面
2 < html xmlns ="http://www.w3.org/1999/xhtml" >
3 < head >
4 < title > UntitledPage </ 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页面的代码
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