ajax请求返回map如何解析
1.ajax请求返回map如何解析 后台返回的数据是这样的:一个结果工具类Result,里面的数据是一个Map, Map里面是一个List集合前台解析,用下拉框显示,$('.reload').click(function () {//虚拟机idvar id = $(this).parents('td').chi...
·
1.ajax请求返回map如何解析
后台返回的数据是这样的:一个结果工具类Result,里面的数据是一个Map, Map里面是一个List集合
前台解析,用下拉框显示,
$('.reload').click(function () {
//虚拟机id
var id = $(this).parents('td').children('input:first').val();
//模板id
var tempId = $(this).attr('value');
//拿到部门id
var groupid = $(this).parents('td').children('input:eq(2)').val();
//拿到所有部门
$.ajax({
type: 'post',
async: false, //同步执行
url: '/admin/template/templateList',
data: {"templateType": 2,"adminGroup":groupid},
dataType: 'json', //返回数据形式为json
success: function (result) {
if (result) {
var map = result['data'];
var adminGroupBeansList = map.adminGroupBeans;
var templateBeanList = map.templateList;
var grouplength=adminGroupBeansList.length;
var templength=templateBeanList.length;
$("#departmentId").empty();
for (var i = 0; i <grouplength; i++) {
if (adminGroupBeansList[i].id == groupid) {
$("#departmentId").append('<option value=' + adminGroupBeansList[i].id + ' selected>' + adminGroupBeansList[i].name + '</option>');
}
else {
$("#departmentId").append('<option value=' + adminGroupBeansList[i].id + '>' + adminGroupBeansList[i].name + '</option>');
}
}
$("#templateId").empty();
for (var j = 0; j < templength; j++) {
if (templateBeanList[j].id == tempId) {
$("#templateId").append('<option value=' + templateBeanList[j].id + ' selected>' + templateBeanList[j].name + '</option>');
if (templateBeanList[j].osType == 1) {
$("#systemTypeId").empty();
$("#systemTypeId").append('<option value="win" selected>win</option>');
}
else if (templateBeanList[j].osType == 2) {
$("#systemTypeId").empty();
$("#systemTypeId").append('<option value="unix" selected>unix</option>');
}
} else {
$("#templateId").append('<option value=' + templateBeanList[j].id + '>' + templateBeanList[j].name + '</option>');
}
}
var htmlcontent = $("#htmlId").html();
layer.open({
title: '重装',
content: htmlcontent,
area: ['330px', '250px'],
btn: '确认重装',
yes: function () {
blockUI();
$.post('/admin/vm/reload', {
'id': id,
'templateId': $('#templateId').val()
}, function (res) {
unblockUI();
if (res['bool']) {
jSuccess("操作成功", function () {
window.location.reload();
})
} else {
jFail(res['msg']);
}
})
}
});
}
},
error: function (errorMsg) {
alert("加载数据失败");
}
});
});
一开始用两个ajax请求数据,结果两个ajax是异步的,胆汁页面没有显示到数据。
注意这时下拉框是ajax加载的,想要触发下拉框的改变事件用他的change方法是没有效果的,需要这样:
<select onchange="departmentChange(this.options[this.options.selectedIndex].value)" class="gySelect w150 fl ml10" id="departmentId">
</select>
function departmentChange(groupid){
$.ajax({
type: 'post',
async: false, //同步执行
url: '/admin/template/templateList',
data: {"adminGroup":groupid},
dataType: 'json', //返回数据形式为json
success: function (result) {
if (result) {
var map = result['data'];
var adminGroupBeansList = map.adminGroupBeans;
var templateBeanList = map.templateList;
var grouplength=adminGroupBeansList.length;
var templength=templateBeanList.length;
$("#departmentId").empty();
for (var i = 0; i <grouplength; i++) {
if (adminGroupBeansList[i].id == groupid) {
$("#departmentId").append('<option value=' + adminGroupBeansList[i].id + ' selected>' + adminGroupBeansList[i].name + '</option>');
}
else {
$("#departmentId").append('<option value=' + adminGroupBeansList[i].id + '>' + adminGroupBeansList[i].name + '</option>');
}
}
$("#templateId").empty();
for (var j = 0; j < templength; j++) {
if (templateBeanList[j].id == 0) {
$("#templateId").append('<option value=' + templateBeanList[j].id + ' selected>' + templateBeanList[j].name + '</option>');
if (templateBeanList[j].osType == 1) {
$("#systemTypeId").empty();
$("#systemTypeId").append('<option value="win" selected>win</option>');
}
else if (templateBeanList[j].osType == 2) {
$("#systemTypeId").empty();
$("#systemTypeId").append('<option value="unix" selected>unix</option>');
}
} else {
$("#templateId").append('<option value=' + templateBeanList[j].id + '>' + templateBeanList[j].name + '</option>');
}
}
var htmlcontent = $("#htmlId").html();
layer.open({
title: '重装',
content: htmlcontent,
area: ['330px', '250px'],
btn: '确认重装',
yes: function () {
blockUI();
$.post('/admin/vm/reload', {
'id': id,
'templateId': $('#templateId').val()
}, function (res) {
unblockUI();
if (res['bool']) {
jSuccess("操作成功", function () {
window.location.reload();
})
} else {
jFail(res['msg']);
}
})
}
});
}
},
error: function (errorMsg) {
alert("加载数据失败");
}
});
}
更多推荐
已为社区贡献1条内容
所有评论(0)