jquery ajax接收后台传送过来的数据通过定义 dataType :'json' , 可以保证接收到的数据就是json类型的 ,不需要再用eval()函数进行转换,应用起来相当方便
举例如下
- function getTracks(terId,startTime,endTime){
- $.ajax({
- type:"GET",
- url:"replayTracks",
- dataType:"json",
- data:{"terminalId":terId,"startTime":startTime,"endTime":endTime},//向后台传送参数
- success:function(data){
- // alert(data.length);
- // alert(data[0].msgTime);
- // alert(data[4].degreeLon);
- currentMarkers = map.getOverlays();
- for(var i=0;i<currentMarkers.length;i++)
- {
- map.removeOverlay(currentMarkers[i]);
- }
- if(data.length==0) $.messager.alert('无轨迹点','此段时间内无轨迹点数据!!','info');
- //GPS点转换成百度坐标
- else Translate(data);
- },
- error:function(xhr,err){
- $.messager.alert('错误','获取轨迹信息错误!!','error');
- }
- });
- }
easyui 中的form向后台提交后,后台响应传过来的数据 虽然在后台是定义成json类型的,但在这里的回调函数,我们还是需要调用eval()函数将其转换为js的json数据类型
代码如下:
- $("#login").form({ //alert( $("#name").val() );
- onSubmit:function(){ return true;},
- success:function(data){
- data = eval( '('+data+')' );
- alert(data.response1);
- }
- });
- function checkLogin(){
- $('#login').submit();
- }
- 后台代码如下
- /*
- * 获取前台表单提交的数据,向前台传达json数据
- */
- public class FormAction extends ActionSupport{
- private static final long serialVersionUID = 1L;
- private String name ;
- private Map<String,Object> responseData ;
- private static Logger logger = Logger.getLogger(GetTracks.class);//log4j 日志记录器
- public void setName(String name){
- this.name = name ;
- logger.info(name);
- }
- public Map<String,Object> getResponseData(){
- logger.info("return data");
- responseData=new HashMap<String,Object>();
- responseData.put("response", name);
- responseData.put("response1", name+"hello");
- return responseData;
- }
- public String getData(){
- logger.info("getdata");
- return "getData";
- }
- }