javascript - 无法使用数组长度从 ajax 调用打印 JSON 数组
问题描述
这是带有 Ajax 调用的 Javascript,一切正常,我不需要解析 JSon,因为它已经被解析并且对象内部有一个数组。问题是当我尝试使用for循环将数组输出打印到html中时,由于某种原因它无法识别“data.d.lenght”。我将其更改为 Int 进行测试,并且所有值都以 HTML 格式打印。我什至使用 .done 以防在 javascript 运行后执行 Ajax 调用并且它没有改变任何内容。除了从代码隐藏中获取具有数组大小的变量之外,我不知道我还能做什么,但这是最后的手段。
<script type="text/javascript">
function GetColaboradores() {
var url = "GetColaboradoresWebService.asmx/GetColaboradores";
$("#UpdatePanel").html("<div style='text-align:center; background-color:yellow; border:1px solid red; padding:3px; width:200px'>Please Wait...</div>");
var request = $.ajax({
type: "POST",
url: url,
data: "{}",
contentType: "application/json; charset-utf-8",
dataType: "json"
});
request.done(function (data) {
var TableContent = "<table border='0'" +
"<tr>" +
"<td> Nome </td>" +
"</tr>";
for (var i = 0; i > data.d.lenght; i++) {
TableContent += "<tr>" +
"<td>" + data.d[i].Nome + "</td>"
"</tr>";
}
TableContent += "</table>";
$("#UpdatePanel").html(TableContent);
});
request.fail(function () {
});
}
</script>
解决方案
谢谢大家,终于找到问题所在了。不仅长度写错了,而且for循环的条件也写错了。它是“<”而不是“>”。