我想动态地将JSON数据放入HTML元素中。我正在循环数据集,但它不会进入循环。请帮忙。
$.ajax({
type: "POST",
url: '<%= ResolveUrl("~/Menu.asmx/MasterMenu")%>',
data: [],
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(response) {
//var dataset = JSON.stringify(response.d);
var dataset = response.d;
alert(dataset);
debugger;
for (var i = 0; i < dataset.length; i++) {
alert(dataset[i].MENU_NAME);
}
// $.each(data, function (key, value{ <- this is wrong
$.each(response.d, function(i, item) {
alert("in");
$("#menuDynamic").append("<li class='treeview'> <a href='#'> <i class='fa fa-dashboard'></i> <span>" + item.MENU_NAME + "</span> <span class='pull-right-container'><i class='fa fa-angle-left pull-right'></i> </span></a> </li>");
});
},
error: function(response) {
alert(response.responseText);
alert(response.statusText);
}
});
答案 0 :(得分:0)
在您的成功fn中添加此行。可能是你的回答不是JSON。
response = $.parseJSON(response);
要么
response = JSON.parse(response);
答案 1 :(得分:0)
是解决了
$.ajax({
type: "POST",
url: '<%= ResolveUrl("~/Menu.asmx/MasterMenu")%>',
data: [],
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
var data = JSON.parse((response.d));
//var dataset = JSON.stringify(response.d);
//var dataset = $.parseJSON(response);
debugger;
$.each(data, function (i, item) {
$("#menuDynamic").append("<li class='treeview'> <a href='#'> <i class='fa fa-dashboard'></i> <span>" + item.MENU_NAME + "</span> <span class='pull-right-container'><i class='fa fa-angle-left pull-right'></i> </span></a> </li>");
});
}, error: function (response) {
alert(response.responseText);
alert(response.statusText);
}
});