首页 > 解决方案 > 无法使用数组长度从 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>

标签: javascriptjqueryajax

解决方案


谢谢大家,终于找到问题所在了。不仅长度写错了,而且for循环的条件也写错了。它是“<”而不是“>”。


推荐阅读