我的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的网络表单中,我有以下代码:
<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,以便以后可以在程序中使用。
我不确定此错误的含义或来源。任何帮助都将受到欢迎。
答案 0 :(得分:0)
我认为您的代码应为:
select.append($("<option>").val(item.Department_Id).text(item.Department_Description));
});
答案 1 :(得分:0)
.each()
方法用于遍历包含DOM元素的jQuery集合。如果要遍历普通数组或对象,则应使用$.each()
函数。
$.each(data, function(index, item) {
...
}
此外,您对象中的属性是Department_ID
和Department_Description
,而不是Value
和Text
。