I'm using jQuery's AJAX methods to call a C# service to return a JSON serialized list.
[HttpPost]
public JsonResult SearchTicket(ViewModelTicket ticket) {
var list = UnitOfTicket.Where(x =>x.TicketId == ticket.TicketId);
return Json(new { list }, JsonRequestBehavior.AllowGet);
}
I parse the response from within the success callback function and render it as HTML.
$.ajax({
type: "POST",
url: url,
data: JSON.stringify(Ticket),
dataType: "json",
contentType: 'application/json; charset=utf-8',
success: function (list) {
var data = list;
for (var i in data) {
alert(JSON.stringify(data[i]));
$('#tbody-element').append(
'<tr>' +
'<td>' + data[i].TicketId + '</td>' +
'<td>' + data[i].Title + '</td>' +
'<td>' + data[i].PriorityId + '</tr>' +
'<td>' + data[i].OpenDateAndTime + '</tr>' +
'<td>' + data[i].SlaExpiration + '</td>' +
'</tr>'
);
}
},
error: function () {
alert("Error occured!!")
}
});
The response is displayed in an alert:
[{"TicketId":1,"OpenDateAndTime":"/Date(1517833557277)/","ClosedDateTime":null,"VersionId":140,"PriorityId":2,"CompanyId":0,"UserId":null,"Rate":null,"SlaExpiration":null,"TicketTypeId":1,"StatusId":1,"ProductId":1,"SubProductId":1,"TaskId":1,"Title":"Primeiro Chamado","Files":null}]
My problem is rendering an object with an undefinded value. For example: data[i].Title ...
I am following this post: Parse returned C# list in AJAX success function
if (data[i]) { ... } else { ..}