客户端:
//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();
}
}

浙公网安备 33010602011771号