-Controller zurückgegeben:Unable Modell holen Objekte Liste Aktion mit Ajax-Aufruf in mvc Ansicht Aktion
[HttpGet]
public JsonResult CriteriasForAward(int awardId)
{
var criteriaList = _awardService.GetCriteriasForAward(awardId);
return Json(new { data = criteriaList }, JsonRequestBehavior.AllowGet);
}
Anruf Ajax:
<script>
jQuery(document).ready(function() {
$("#Award").change(function() {
var selectdAward = $("#Award").val();
alert("Id" + selectdAward);
var ServiceUrl = "/Nomination/CriteriasForAward?awardId=" + selectdAward;
$.ajax({
type: 'GET',
url: ServiceUrl,
contentType: "application/json; charset=utf-8",
error: function (xhr, err) {
alert(xhr.responseText)
},
success: function (data)
{
debugger;
$.each(data, function (key, val) {
alert(key);
});
}
});
});
});
</script>
Alle Dinge gehen good..Also Ajax-Aufruf ist erfolgreich, das Datenfeld enthält ein Array aller Objekte, die von ajax zurückgegeben werden, aber wenn ich den Schlüssel jedes Elements zum Testen warnen möchte, alarmiert es undefined nur einmal. Wenn ich es im Browser debugge, dann enthält es Werte wie im Snapshot enter image description here gezeigt
Sie geben ein Objekt zurück, das ein Array enthält, also müsste es '$ .each (data.data, function (key, val) {' sein, aber es wäre besser, wenn Sie die Controller-Methode auf 'json zurückgeben (criteriaList , JsonRequestBehavior.AllowGet); ' –
Ja, es funktioniert jetzt gut .. Vielen Dank! –