easyui 中的 form 提交 后获得 后台 的 json数据 与 jquery .ajax的不同之处

jquery ajax接收后台传送过来的数据通过定义 dataType :'json' , 可以保证接收到的数据就是json类型的  ,不需要再用eval()函数进行转换,应用起来相当方便

举例如下


[javascript] view plain copy
  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
  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 plain copy
  1. $("#login").form({ //alert( $("#name").val() );  
  2.     onSubmit:function(){  return true;},  
  3.     success:function(data){     
  4.         data = eval( '('+data+')' );  
  5.         alert(data.response1);  
  6.     }  
  7. });  
  8. function checkLogin(){  
  9.     $('#login').submit();  
  10. }  
[java] view plain copy
  1. 后台代码如下  
  2.   
  3. /* 
  4.  * 获取前台表单提交的数据,向前台传达json数据 
  5.  */  
  6. public class FormAction extends ActionSupport{  
  7.   
  8.     private static final long serialVersionUID = 1L;  
  9.     private String name ;  
  10.     private Map responseData ;  
  11.     private static Logger logger = Logger.getLogger(GetTracks.class);//log4j 日志记录器  
  12.       
  13.     public void setName(String name){  
  14.         this.name = name ;  
  15.         logger.info(name);  
  16.     }  
  17.       
  18.     public Map getResponseData(){  
  19.         logger.info("return data");  
  20.         responseData=new HashMap();  
  21.         responseData.put("response", name);  
  22.         responseData.put("response1", name+"hello");  
  23.         return responseData;  
  24.     }  
  25.       
  26.     public String getData(){  
  27.         logger.info("getdata");  
  28.         return "getData";  
  29.     }  

你可能感兴趣的:(easyui 中的 form 提交 后获得 后台 的 json数据 与 jquery .ajax的不同之处)