Привет, я хочу отобразить список значений в представлении. Я использовал функцию ajax post, и я могу передать значения из контроллера для просмотра.
Когда я попытался получить доступ к этим значениям, он не появляется.
Вот моя модель:
public IEnumerable<LoanStatusHistory> LoanHistory { get; set; }
Мой контроллер:
public ActionResult ChangeTimeZone(int id, int loanId)
{
LoanInfoResultModel model = new LoanInfoResultModel();
LoanIdentifier loanIdentifier = new LoanIdentifier(1, loanId);
model.LoanHistory = LoanTrackerServices.GetLoanStatusHistory(loanIdentifier);
return Json(model.LoanHistory.ToList(), JsonRequestBehavior.AllowGet);
}
Вот мой взгляд
$.getJSON('@Url.Action("ChangeTimeZone", "RegistrationPage")', { "id": a, "loanId":'@Model.LoanId.LoanId' },
function (data) {
alert("HI");
console.log(data);
for (var i in data) {
//alert(this.data.LoanActivityDate);
alert(data[i]);
}
//$.each(data, function () {
// //alert(data[0].LoanActivityDate);
// alert(data["LoanActivityDate"]);
//});
});
Мне не удалось получить значения из данных. Может ли кто-нибудь помочь мне в этом.
Если в качестве коллекции используется объект, обратный вызов передается парой ключ-значение каждый раз, поэтому попробуйте выполнить код ниже:
$.getJSON('@Url.Action("ChangeTimeZone", "RegistrationPage")', { "id": a, "loanId": '@Model.LoanId.LoanId' },
function (data) {
$.each(data, function (key, item) {
var sDate = ConvertJsonDateString(item.LoanActivityDate);
var str = '<li>' + sDate + '</li>';
$("#contents").append(str);
});
});
Обновление У вас есть формат json Date, вам нужно скрывать короткую дату, используйте функцию ниже.
function ConvertJsonDateString(jsonDate) {
var shortDate = null;
if (jsonDate) {
var regex = /-?\d+/;
var matches = regex.exec(jsonDate);
var dt = new Date(parseInt(matches[0]));
var month = dt.getMonth() + 1;
var monthString = month > 9 ? month : '0' + month;
var day = dt.getDate();
var dayString = day > 9 ? day : '0' + day;
var year = dt.getFullYear();
shortDate = monthString + '/' + dayString + '/' + year;
}
return shortDate;
};
пример:
<script>
var jsonDate = '/Date(1375987087000)/';
var date = ConvertJsonDateString(jsonDate);
alert(date) // the result will be 08/08/2013
</script>