我有一个Controller来返回JSON
public ActionResult Project()
{
var q = from p in db.projects
select new { p.name_project, p.contract_value };
return Json(q.ToList(), JsonRequestBehavior.AllowGet);
}
我创建了一个部分视图名称“Project.cshtml”来获取JSON并打印结果
<script>
$.getJSON('/Chart/Project', function (data) {
var items = [];
$.each(data, function (key, val) {
items.push('<li>' + key + ': ' + val.Title + ' (' + val.Count + ')</li>');
});
$('<ul />', {
html: items.join('')
}).appendTo('body');
})
</script>
我在Index.cshtml中通过HTMLHepler Html.Partial(“Project”)调用Partial View但是它返回了javascript代码,我想在代码完成后获取内容!
答案 0 :(得分:0)
您需要解析getJson方法中的json内容,如下所示:
var result = jQuery.parseJSON(data);
然后在$.each
函数中使用此结果。
答案 1 :(得分:0)
在呈现局部视图时,您的$ .getJson()调用不会被执行。您需要将它包装在$ .ready()函数(如下所示)或javascript自执行函数
中<script>
$(function(){
$.getJSON('/Chart/Project', function (data) {
var items = [];
$.each(data, function (key, val) {
items.push('<li>' + key + ': ' + val.Title + ' (' + val.Count + ')</li>');
});
$('<ul />', {
html: items.join('')
}).appendTo('body');
})
});
</script>