jquery的幾種ajax方式對比


jquery的幾種ajax方式對比

jquery的ajax方式有如下幾種: 
1.   $.post(url,params,callback); 
2.   $.getJSON(url,params,callback); 
3.   $.ajax(); 
4.   $.load(url,params,callback); 

第一種:采用post方式提交,中文參數無需轉碼,在callback中如果要獲取json字符串,還需轉換一下。 
如:

$.post(url,
                            {id: id,
                            code: code,
                             companyId:companyId 
                             },
                        function (data){
                            showCompanyRadialDataListdatalist
                            });

這個datalist為從后台取回來的數據List。

function showCompanyRadialDataList(datalist){
 var obj = eval(datalist);  
}//這個eval可以將data轉成json串。方便后面取值。
如:
    for (var i =0 ; i< obj.length ;i++){
          $("td:eq(1)",$tr).htmlobj[i].nuclide);//這里可以用json方式取    datalist里面的數據
     }
     

第2種方式:getJSON采取get方式提交,所以如果你的params參數里面有中文的話,請先轉碼,否則會出現亂碼提交到后台。

$.getJSON(url,param,function(jsondata){
這里返回的jsondata可以直接取不用再轉換了。
如:jsondata[0].nuclide
}

第3種方式:$.ajax, 這種方式最靈活。

$.ajax({
        url: url,//地址
        data: data,//參數
        type: 'POST',//提交方式 可以選擇post/get 推薦post 
             async: false,//同步異步 
        dataType: 'json',//返回數據類型 
        success:function(data){
            accidentList = data.list;
           //這里可以直接取data里面的數據了,因為設置返回值為json方式。               
        }
    });

當然$.ajax里面還有很多參數 可以加更多的特效在里面,如ajaxStart ,ajaxStop等等, 
上面的參數type,async,dataType都不是必須的。 
第4種方式:$.load 這種用得很少,一般是來加載某一個頁面或者xml等等。 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM