<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    經(jīng)驗不在于年限,在于積累---專注互聯(lián)網(wǎng)軟件開發(fā)

    把工作當事業(yè)做,把項目當作品做!

      BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
      55 Posts :: 0 Stories :: 66 Comments :: 0 Trackbacks
     
    (友情提示:本博文章歡迎轉載,但請注明出處:陳新漢,http://m.tkk7.com/hankchen

      jQuery提供了簡單而強大的選擇器功能,同時對Ajax操作也給出了很好的支持。在Ajax方面,jQuery除了提供底層的jQuery.ajax()方法外,也提供了下面的簡單方法:

    (1)       jQuery.get(url, [data], [callback], [type])

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

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

    (4)       jQuery.post(url, [data], [callback], [type])

    由于jQuery.ajax()功能比較強大,可配置的參數(shù)比較多,現(xiàn)在主要對這個方法的注意事項進行總結。

    1.       jQuery.ajax()默認是以異步的方式請求的,如果需要同步,使用參數(shù)async為false。因為有些應用必須同步請求數(shù)據(jù)的。例如,某些FlashJS交互應用中,請求一個JS函數(shù)需要馬上得到返回數(shù)據(jù)。此時,必須采用同步的Ajax調(diào)用方式。

    2.       Ajax如果是Get請求,返回的數(shù)據(jù)一般會被瀏覽器緩存,如果不想被緩存,可以設置cache參數(shù)為false;或者發(fā)送請求是帶上時間戳,這樣瀏覽器會認為是新的請求,而重新從服務器加載數(shù)據(jù)。當然,如果是POST發(fā)送的請求則不會被緩存。

    3.       dataType預期服務器返回的數(shù)據(jù)類型。如果不指定,jQuery 將自動根據(jù) HTTP MIME 信息返回 responseXML responseText,并作為回調(diào)函數(shù)參數(shù)傳遞,可用值:

    1"xml": 返回 XML 文檔,可用 jQuery 處理。

    2"html": 返回純文本 HTML 信息;包含的script標簽會在插入dom時執(zhí)行。

    3"script": 返回純文本 JavaScript 代碼。不會自動緩存結果。除非設置了"cache"參數(shù)。'''注意:'''在遠程請求時(不在同一個域下),所有POST請求都將轉為GET請求。(因為將使用DOMscript標簽來加載)

    4"json": 返回 JSON 數(shù)據(jù)

    5"jsonp": JSONP 格式。使用 JSONP 形式調(diào)用函數(shù)時,如 "myurl?callback=?" jQuery 將自動替換 ? 為正確的函數(shù)名,以執(zhí)行回調(diào)函數(shù)。

    6"text": 返回純文本字符串

             其中,"script""json"設置可以解決Ajax的跨域問題。

    4.       如果服務器返回的一個字符串或數(shù)值,則使用普通的ajax調(diào)用即可。

    如果服務器返回的是一個JSON對象,那么最好采用jQuery.getJSON的方式,或者設置dataType=json。因為瀏覽器解析JSON對象需要時間,直接返回JSON對象,節(jié)省解析時間,可以避免在服務器明明有返回數(shù)據(jù),但是瀏覽器得不到的錯誤。

    5. Ajax調(diào)用是需要時間的,所以一般將Ajax調(diào)用后的處理代碼全部放在回調(diào)方法中。不能采用這樣的處理方式:

    function getMyPrizeList(){

        if(isNotEmpty(uid)){

            var obj=new Object();

            try{

               jQuery.ajax({type:"GET",url:"someurl",async:false,cache:false,dataType:"script",scriptCharset:"gbk",success:function(json){

                         obj=json;

                      }

                  });

               }catch(e){}

               obj=eval("("+obj+")");

               //alert(obj);

               var str="";

               for(var i in obj)

               {

                   str+='<tr>'+'<th>'+prizearray[obj[i].prizeno]+'</th>'

                   str+='<td>'+'CD-KEY'+obj[i].cdkey+'</td>'

                   str+='<td>'+'期限:'+obj[i].expiratedate+''+'</td></tr>';

               }

               jQuery("#prizelist").append(str);

            }

    }

    而必須這樣處理:即將處理代碼放到success函數(shù)里面!

    function getMyPrizeList(){

        if(isNotEmpty(uid)){

            var obj=new Array();

            try{

                      jQuery.ajax({type:"GET",url:"someurl",

                                   cache:false,

                                   dataType:"script",

                                   scriptCharset:"gbk",

                                   success:function(json){

                                     try{

                                          obj=result;  

                                    }catch(e){}

                                    jQuery("#prizelist").html("");

                                    var str="";

                                    for(var i=0;i<obj.length;i++ ){

                                        str+='<tr><th>'+prizearray[obj[i].prizeno]+'</th>';

                                        str+='<td>CD-KEY'+obj[i].cdkey+'</td>';

                                        str+='<td>期限:'+obj[i].expiratedate+'</td></tr>';

                                    }

                                    jQuery("#prizelist").append(str);                   

                                   }

                       });

               }catch(e){}

            }

    }

    6. jQuery.getJSON實例:

    //內(nèi)部函數(shù),實現(xiàn)債務人詳細信息的載入、設置值

        function innerShowDetail() {

           // 獲得JSON格式的數(shù)據(jù)

           $.getJSON('load.do',{id : userId}, function(json) {

               // 根據(jù)key設置value

               for (key in json) {

                  if(key == 'id'){

                      $('#detailDiv #' + key).val(json[key]);

                  } else {

                      if(json[key] == ''){

                         // 沒有值設置為空

                         $('#detailDiv #' + key).html(' ');

                      } else if(key == 'sex'){

                         $('#detailDiv #' + key).html(json[key] == '0' ? '' : '');

                      } else if(key == 'group'){

                         if(json[key] != null) {

                             $('#detailDiv #' + key).html(json[key]['groupName']);

                         }

                      } else {

                         $('#detailDiv #' + key).html(json[key]);

                      }

                  }

               }

               //設置對話框標題和內(nèi)容

               $('#detailDiv').removeAttr('class');

               dialog.setTitle('查看人員[' + json['userName'] + ']詳細資料');

               dialog.setContent($('#detailDiv').html());

           });

        }

     (友情提示:本博文章歡迎轉載,但請注明出處:陳新漢,http://m.tkk7.com/hankchen
    posted on 2010-01-04 13:27 hankchen 閱讀(3705) 評論(0)  編輯  收藏 所屬分類: JS+jQuery
    主站蜘蛛池模板: 最新精品亚洲成a人在线观看| xxxxwww免费| 亚洲国产精品第一区二区三区| 亚洲成熟丰满熟妇高潮XXXXX| 色视频色露露永久免费观看| 亚洲欧美精品午睡沙发| 日韩高清在线免费观看| 亚洲成a人无码亚洲成av无码| 免费国产在线观看| 久久国产精品免费| 一级毛片大全免费播放下载 | 91老湿机福利免费体验| 久久精品国产亚洲AV麻豆王友容| 在线观看片免费人成视频播放| 亚洲精品高清无码视频| 久久国产高潮流白浆免费观看| 亚洲一区二区三区国产精品无码| 成人午夜视频免费| 免费高清A级毛片在线播放| 国产91精品一区二区麻豆亚洲| 国产成人免费ā片在线观看老同学| 亚洲国产精品不卡在线电影| 国产h视频在线观看免费| 亚洲av日韩aⅴ无码色老头 | 国产成人免费全部网站| 五月天婷婷免费视频| 亚洲一区精品中文字幕| 免费无码肉片在线观看| 男女作爱免费网站| 亚洲国产香蕉碰碰人人| 全免费a级毛片免费**视频| 一日本道a高清免费播放| 日韩亚洲Av人人夜夜澡人人爽 | 午夜性色一区二区三区免费不卡视频 | 老牛精品亚洲成av人片| 亚洲大成色www永久网站| 美女网站免费福利视频| 深夜A级毛片视频免费| 久久亚洲AV成人无码国产| 四虎1515hm免费国产| 久操视频免费观看|