麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > AJAX > 正文

jQuery Ajax()方法使用指南

2024-09-01 08:33:23
字體:
來源:轉載
供稿:網友
jQuery.ajax()功能比較強大,可配置的參數比較多,本文主要對這個方法的注意事項進行總結。有相同需求的童鞋們也來仔細看看吧,希望對大家能有所幫助
 
 

 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()功能比較強大,可配置的參數比較多,現在主要對這個方法的注意事項進行總結。

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

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

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

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

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

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

(4)"json": 返回 JSON 數據 。

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

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

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

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

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

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

 

復制代碼代碼如下:

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函數里面!

 

復制代碼代碼如下:

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實例:

 

復制代碼代碼如下:

//內部函數,實現債務人詳細信息的載入、設置值
    function innerShowDetail() {
       // 獲得JSON格式的數據
       $.getJSON('load.do',{id : userId}, function(json) {
           // 根據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]);
                  }
              }
           }
           //設置對話框標題和內容
           $('#detailDiv').removeAttr('class');
           dialog.setTitle('查看人員[' + json['userName'] + ']詳細資料');
           dialog.setContent($('#detailDiv').html());
       });
    }
 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 精品国产91久久久 | 欧美一级三级在线观看 | 久久99精品久久久久久国产越南 | 好吊色欧美一区二区三区四区 | 三人弄娇妻高潮3p视频 | 九九热精品在线播放 | 久久精品欧美电影 | 国产精品视频一区二区三区四区五区 | 欧美日韩在线中文字幕 | 国产手机国产手机在线 | 一级性生活免费视频 | 九九色网站 | 在线观看免费视频麻豆 | 大学生一级毛片 | 国产三级a三级三级 | 午夜影视一区二区 | xxxx8| 毛片在线免费播放 | 午夜爽爽爽男女免费观看hd | 亚州视频在线 | 北京一级毛片 | 久草在线观看福利视频 | 国产99久久久国产精品 | 国产亚洲欧美在线视频 | 国产精品久久久久久久久久iiiii | 一区二区三区日韩 | 久久国产精品系列 | 国产精品久久久久久久久久东京 | 成熟女人特级毛片www免费 | 精品国产高清一区二区三区 | 免费久久久 | 美国av片在线观看 | 国产女做a爱免费视频 | 日本网站一区 | 黄色免费在线视频网站 | 成年人观看免费视频 | 国产一区二区三区四区五区在线 | 成人羞羞视频在线观看 | 黄色一级片免费观看 | 日本在线播放一区二区 | 中文字幕在线观看1 |