1. 程式人生 > >easyui 中的 form 提交 後獲得 後臺 的 json資料 與 jquery .ajax的不同之處

easyui 中的 form 提交 後獲得 後臺 的 json資料 與 jquery .ajax的不同之處

jquery ajax接收後臺傳送過來的資料通過定義 dataType :'json' , 可以保證接收到的資料就是json型別的  ,不需要再用eval()函式進行轉換,應用起來相當方便

舉例如下

[javascript] view plaincopy在CODE上檢視程式碼片派生到我的程式碼片
  1. function getTracks(terId,startTime,endTime){  
  2.     $.ajax({  
  3.         type:"GET",  
  4.         url:"replayTracks",  
  5.         dataType:"json",  
  6.         data:{"terminalId":terId,
    "startTime":startTime,"endTime":endTime},//向後臺傳送引數
  7.         success:function(data){  
  8.         //  alert(data.length);
  9.         //  alert(data[0].msgTime);
  10.         //  alert(data[4].degreeLon);
  11.             currentMarkers = map.getOverlays();  
  12.             for(var i=0;i<currentMarkers.length;i++)  
  13.             {  
  14.                 map.removeOverlay(currentMarkers[i]);  
  15.             }  
  16.             if(data.length==0) $.messager.alert('無軌跡點','此段時間內無軌跡點資料!!','info');  
  17.             //GPS點轉換成百度座標
  18.             else Translate(data);  
  19.         },  
  20.         error:function(xhr,err){  
  21.             $.messager.alert('錯誤','獲取軌跡資訊錯誤!!','error');  
  22.         }  
  23.     });  
  24. }  

easyui 中的form向後臺提交後,後臺響應傳過來的資料 雖然在後臺是定義成json型別的,但在這裡的回撥函式,我們還是需要呼叫eval()函式將其轉換為js的json資料型別

程式碼如下:

[javascript] view plaincopy在CODE上檢視程式碼片派生到我的程式碼片
  1. $("#login").form({ //alert( $("#name").val() );
  2.     onSubmit:function(){  returntrue;},  
  3.     success:function(data){     
  4.         data = eval( '('+data+')' );  
  5.         alert(data.response1);  
  6.     }  
  7. });  
  8. function checkLogin(){  
  9.     $('#login').submit();  
  10. }  
  1. 後臺程式碼如下  
  2. /* 
  3.  * 獲取前臺表單提交的資料,向前臺傳達json資料 
  4.  */
  5. publicclass FormAction extends ActionSupport{  
  6.     privatestaticfinallong serialVersionUID = 1L;  
  7.     private String name ;  
  8.     private Map<String,Object> responseData ;  
  9.     privatestatic Logger logger = Logger.getLogger(GetTracks.class);//log4j 日誌記錄器
  10.     publicvoid setName(String name){  
  11.         this.name = name ;  
  12.         logger.info(name);  
  13.     }  
  14.     public Map<String,Object> getResponseData(){  
  15.         logger.info("return data");  
  16.         responseData=new HashMap<String,Object>();  
  17.         responseData.put("response", name);  
  18.         responseData.put("response1", name+"hello");  
  19.         return responseData;  
  20.     }  
  21.     public String getData(){  
  22.         logger.info("getdata");  
  23.         return"getData";  
  24.     }