这是带有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>
答案 0 :(得分:0)
谢谢大家,我终于找到了问题所在。不仅长度写错了,而且for循环的条件也写错了。是“ <”而不是““>”。