j查询未定义每个项目



My WebApi 返回以下 JSON 对象:

[
{
"Department_Id": 5,
"Department_Description": "Test API 1"
},
{
"Department_Id": 6,
"Department_Description": "Test API 2"
},
{
"Department_Id": 7,
"Department_Description": "Test API 3"
}
]

在我使用 asp.net 的 Web 表单中,我有以下代码:

<script type="text/javascript">
$(document).ready(function() {
$.ajax({
type: "POST",
url: "api/TicketDepartments/GetTicketDepartmentsComboBoxAsync",
data: "{}",
contentType: 'application/json; charset=utf-8',
dataType: "json",
async: false,
success: function (data) {
var select = $("#ddlDepartment");
if (data) {
$(data).each(function(index, item) {
select.append($(" 
<option>").val(item.Value).text(item.Text));
});
}
},
error: function (data) {
alert("An error has occurred during processing your 
request.");
}
});
});
</script>

但是,每当我尝试运行代码时,都会收到"item is not defined"错误。

我正在尝试填充

Select department :
<asp:DropDownList ID="ddlDepartment" runat="server">
</asp:DropDownList>

与department_description和department_id,以便以后可以在程序中使用。

我不确定此错误的含义或它来自哪里。欢迎任何帮助。

.each()方法用于循环遍历包含 DOM 元素的 jQuery 集合。如果要遍历普通数组或对象,则应使用$.each()函数。

$.each(data, function(index, item) {
...
}

此外,对象中的属性是Department_IDDepartment_Description,而不是ValueText

我认为你的代码应该是:

select.append($("<option>").val(item.Department_Id).text(item.Department_Description));
});

最新更新