【发布时间】:2017-05-02 18:40:28
【问题描述】:
我正在关注一些在线ajax教程,示例是关于使用GET方法调用webapi,这里是页面上的脚本部分
<script type="text/javascript">
$(document).ready(function () {
var ulEmployees = $('#ulEmployees');
$('#btn').click(function () {
$.ajax({
type: 'GET',
url: "http://localhost:35468/api/employee",
dataType: 'json',
async: true,
success: function (data) {
ulEmployees.empty();
$.each(data, function (index, value) {
var fullName = value.FirstName + ' ' + value.LastName;
ulEmployees.append('<li>' + fullName + '</li>');
});
}
});
});
$('#btnClear').click(function () {
ulEmployees.empty();
});
});
</script>
它应该在 .
的列表项中呈现 emoloyee 的名字和姓氏<div>
<input id="btn" type="button" value="Get All Employees" />
<input id="btnClear" type="button" value="Clear" />
<ul id="ulEmployees">
</ul>
</div>
每个函数在对象上迭代,但它在 html 中显示为 undefined
有人知道解决办法吗?
【问题讨论】:
-
data的值是多少?服务器实际返回了什么? -
这意味着
value.FirstName或value.LastName未定义在响应中未定义。要获得更好的细节,请在循环中插入一个调试器,看看你得到了什么。 -
如果数据有 JSON 字符串,那么你需要先使用 JSON.parse() 函数将其解析为 JSON 对象。
-
value 是在每个函数中接收数据的第二个对象,我正在尝试填充传递给函数的值对象的属性 firstName 和 lastName,它循环正常但只是呈现未定义。
-
@Nishesh 我正在使用 parse 方法,看看是否能解决问题,fiddler 显示 json 对象返回正常,未定义
- 的数量呈现在page 与我的 sql 表中的行数匹配。
标签: javascript jquery ajax asp.net-web-api