客户端:

//ajax跨域调用的方法
	$.ajax({
		url:dustUrl+"/screenshot/getDevices.do",
		type: "get",
		async: false,
		dataType: "jsonp",
		jsonp: "callbackparam",   
		jsonpCallback: "success_jsonpCallback", 
		success: function(data) {
			var len=data.length;
			$.each(data,function(index,value){
				var deviceId=value.id;
				var deviceNum=value.deviceNum;
				var cameraIP=value.cameraIP;
				$.ajax({
					url:dustUrl+"/screenshot/getPresets.do",
					type:"get",
					async: false,
					data:{"deviceId":deviceId},
					dataType:"jsonp",
					jsonp: "callbackparam",   
					jsonpCallback: "success_jsonpCallback", 
					success:function(data){
						if(data.length>0){
							var presetIdStr=data[0].presetIds;
							if(presetIdStr!=""){
								setTimeout("openWindow('"+deviceNum+"','"+cameraIP+"','"+presetIdStr+"');",3000);
								//openWindow(deviceNum,cameraIP,presetIdStr);
							}
						}
					}
				});
			});
			setTimeout("closeWindow();",(len+1)*3000);

		}
	});

  服务器端:

    @RequestMapping("/getDevices")
    public void getDevices(HttpServletRequest req,HttpServletResponse res){
        List<Device> deviceList=commonService.getEntityList(Device.class, "and len(cameraIP)>0");
        String devices="";
        for (Device device : deviceList) {
            devices+="{\"id\":\""+device.getId()+"\",\"deviceNum\":\""+device.getDeviceNum()+"\",\"cameraIP\":\""+device.getCameraIP()+"\"},";
        }
        if(devices.length()>0)
            devices=devices.substring(0, devices.length()-1);
        res.setContentType("text/plain");
        String callbackFunName =req.getParameter("callbackparam");//得到js函数名称
        try {
            res.getWriter().write(callbackFunName + "(["+devices+"])"); //返回jsonp数据
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    
    @RequestMapping("/getPresets")
    public void getPresets(HttpServletRequest req,HttpServletResponse res) {
        res.setContentType("text/plain");
        String callbackFunName =req.getParameter("callbackparam");//得到js函数名称
        String deviceId=req.getParameter("deviceId");
        String presetIds="";
        if(StringUtils.isNotBlank(deviceId)){
            List<Preset> presetList=commonService.getEntityList(Preset.class, "and deviceId='"+deviceId+"'","presetNum");
            for (Preset preset : presetList) {
                presetIds+=preset.getPresetNum()+",";
            }
        }
        if(StringUtils.isNotBlank(presetIds)){
            presetIds=presetIds.substring(0, presetIds.length()-1);
        }
        try {
            res.getWriter().write(callbackFunName + "([ {presetIds:\""+presetIds+"\"}])"); //返回jsonp数据
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

 

posted on 2015-04-28 08:43  World2014  阅读(156)  评论(0)    收藏  举报