art.dialog 與 ajax 異步請求


上周寫了一些代碼,涉及到jquery異步請求,這里歸納總結下,希望對剛接觸編程的同學有幫助。

 

主要習慣使用 art.dialog 框架,非常好用,在異步請求上,它提供了很多簡便的方法。

加載使用art.dialog前,需要在頁面代碼上引入

1 <link href="/js/artDialog/css/blue.css" type="text/css" rel="stylesheet" />
2 <script type="text/javascript" charset="utf-8" src="/js/artDialog/artDialog.js?skin=default"></script>


在jquery1.9.1版本或以上,不支持live()事件,用

1 $(document).on("click","td #id",function(){
2     
3 })

替代live事件,響應動態顯示的標簽。

 

獲得需要的數據:

ajax異步請求前,需要獲取參數的值。主要有兩種方式可以獲得頁面傳過來的值。

不管是響應button <a> 還是其他,需要在相應標簽內添加傳來的參數值,如:

1 <a id="ajaxQuery" name="xxx" age="18" >ajaxquery</a>

它的響應事件獲得參數方法:

$(document).on("click", "#ajaxQuery" , function(){
      var name = $(this).attr('name');
      var age = $(this).attr('age');             //這兩種方式是通過獲取屬性值實現
      var value = $(this).val();                  //通過獲取該標簽的value值來實現
})    

 

由於ajax請求一般是異步請求,所以在執行.get類的方法后,這類方法的數據是無法再傳給后面的函數調用。

 

彈框顯示:

一般調用art.dialog的基本步驟:

 1 art.dialog(){
 2        lock: true,                                  //屏鎖
 3        background:'#333333',                //背景色
 4        opacity: 0.6,                                //透明度
 5        title: '標題',                         
 6        id: '',
 7        content: ''                                  //彈框html腳本。  
 8        ok:function() {
 9 
10 
11       }
12 }

 

在ok : function() {}中寫ajax請求腳本,

1 $.getJSON('url',function( data ) {
2           //url為請求的url,可直接在url后面接參數和值,傳參過去
3 });

或者

1 $.getJSON( 'URL' ,data,function(data) {
2 
3 })

data為傳遞參數。

 

請求完成后,依據返回來的參數判斷是否響應成功,若成功,可返回指定頁面

1 if ( data.code = 'true' ) {
2         window.location.href = 'url';
3 }

 

基本上使用art.dialog整個流程到這里就結束了,接下來,具體談下這幾種ajax請求,和多選項時提交的情況。

多項選,selected情況的多選項情況:

var valueArr = [];
$("#id option:selected").each(function(){
      var value = $(this).val();
      valueArr.push( value );
}

checked多選項時情況:

1 var valueArr = [];
2 $("#id td .checked").each( function() {
3        var value = $(this).val();
4        valueArr.push( value );
5 }

 

ajax請求方法:

1 $.post("url",{'data':valueArr,'data2': value} ,function( data ) {
2 
3 },json);

 

應對form表單的提交,這里有一個更優的方法:

 1 var FormValue = $("#FormId").serialize();
 2 $.get ( "url",FormValue,function(data){
 3          data = eval("(" + data + ")");     //json decode
 4          if(data.code === 1001 ) {
 5                 window.location.href = '/url';
 6      }
 7          else {
 8               return false;
 9      }
10 });

 

其他ajax當然還有 $.ajax  $.getAjax等,也可以直接 用jquery 的submit事件實現表單提交。


免責聲明!

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



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