我有一个表,试图从单击的行中将值获取到模式框中。我的数据正在返回到视图,但是在访问对象的属性值时遇到问题。
这是我的货币代码
脚本
$('.item-list tr td').click(function () {
var clickedRow = $(this).closest("tr").find('td:eq(5)').text();
$.ajax({
"url": "/ActivityType/Details",
"type": "POST",
"dataType": "JSON",
"data": { aActivityID: clickedRow },
"success": function (data) {
//var thisData = JSON.parse(data);
console.log(data);
console.log(data.activityName);
console.log(data["activityName"]);
console.log(data['activityName']);
document.getElementById("ActivityName").value = data[0].activityName;
showAjaxModal();
}
});
});
控制器
public IActionResult Details(System.Guid aActivityID)
{
if (aActivityID != System.Guid.Empty)
{
t_activitytype aActivity = new t_activitytype();
aActivity = db.t_activitytype.Where(a => a.Guid == aActivityID).First();
return Json(new { data = aActivity });
}
return View();
}
此时尝试访问属性的以下行将返回“ undefined”
console.log(data.activityName);
console.log(data["activityName"]);
console.log(data['activityName']);
答案 0 :(得分:1)
控制器在数据本身中包含一个data
属性。您实际上可以在控制台中看到该添加data
。因此,您最好在服务器端删除该额外的层。
代替
return Json(new { data = aActivity });
只要
return Json(aActivity)