Я создал представление, в котором, когда пользователь выбирает 2 значения из раскрывающегося списка, запускается метод AJAX для заполнения значений дополнительного раскрывающегося списка
Срабатывает обратный вызов, однако я не могу работать с ответом,
Я, вероятно, делаю не одну вещь неправильно, поэтому любая помощь будет принята с благодарностью.Я очень новичок в ядре Asp.Net mvc
Код моего контроллера (упрощенно - параметры используются и работают):
public IActionResult GetCodes(string location, string xType)
{
return Json(new Dictionary<string, string> {
{ "","" },
{ "Option1","120" },
{ "Option2","123" }
});
}
Мой скрипт jquery в представлении:
var ddl1val = $("#Location :selected").val().toLowerCase();
var ddl2val = $("#xType:selected").val().toLowerCase();
$.ajax({
type: "GET",
url: "/Ppl/GetCodes",
dataType: 'json',
data: { location: ddl1val, xtype: ddl2val},
success: function (data) {
$("#ddlOptions").empty();
var ops = '<option value=""></option>';
alert(data); //returns [object Object]
alert(data.Key); //returns undefined???
//I need this to work
for (var i = 0; i < data.length; i++) {
ops += '<option value="' + data[i].Key + '">' + data[i].Value + '</option>';
$("#ddlOptions").html(ops);
}
}
console.log (data) показывает:
{"": "", Option1: "120", Option2: "123"}
Я не ограничен использованием возврата JSON, но он легче xml, поэтому я бы предпочел использовать его