我在Html视图中显示数据时遇到问题。我创建了web api asp.net mvc项目。在web api控制器中,我们创建了crud方法(get,post,put和delete)。例如,我在web api控制器中有以下方法。
public IEnumerable<vGeneralLedger> GetAllPosting()
{
try
{
return _db.vGeneralLedgers.ToList();
}
catch (Exception ex)
{
throw;
}
}
该方法将显示数据库中的所有发布。我说'会',因为我没有在HTML中得到它。在html中,我有以下功能:
function GetAllPosting() {
jQuery.support.cors = true;
$.ajax({
url: 'http://localhost:xxxxx/api/GeneralLedgerJournal/',
type: 'GET',
dataType: 'json',
success: function (data) {
WriteResponse(data);
},
error: function (x, y, z) {
alert(x + '\n' + y + '\n' + z);
}
});
}
function WriteResponse(generalLedgerJournals) {
$.each(generalLedgerJournals, function (index, generalLedgerJournal) {
$("#GLJtable").append('<tr><td width="150px">' + generalLedgerJournal.Id +
'</td><td width="150px">' + generalLedgerJournal.NaturalBusinessYearId +
'</td><td width="150px">' + generalLedgerJournal.DocumentTypeId +
'</td>' + '<td width="150px">'
+ generalLedgerJournal.AccountNo + '</td><td width="150px">' + generalLedgerJournal.PostingDate +
'</td><td width="150px">' + generalLedgerJournal.MaturityDate +
'</td><td width="150px">' + generalLedgerJournal.Description +
'</td><td width="150px">' + generalLedgerJournal.TotalDebit +
'</td><td width="150px">' + generalLedgerJournal.TotalCredit +
'</td><td width="150px">' + generalLedgerJournal.Balance + '</td><td width="50px">' + '</td></tr>');
});
}
在浏览器控制台中(当我点击F12时)我有json数据,如图(链接)所示:
https://www.dropbox.com/s/htn5lav9g12c57r/Json%20Result.jpg?dl=0
但是在Html View(Cshtml)中,我总是为值数据显示“未定义”,如图(链接)所示: https://www.dropbox.com/s/oi52caemjlx9ed3/My%20result%20always%20undefined.jpg?dl=0
答案 0 :(得分:0)
在“挖掘”我的个人资料后,我找到了我发布的帖子。 这个问题的答案是(如果我们使用angular),有必要创建一个角度服务(使用$ http.get方法)来访问Web服务(web api或mvc控制器)。之后,我们可以创建角度控制器并为该控制器注入角度服务。我们可以在控制器中创建函数,它将从注入的角度服务调用metod。控制器中的范围对象或数组必须与html页面中的变量等效。