如何在Jquery Ajax中找到成功数据的长度?

时间:2017-10-10 07:01:58

标签: javascript jquery json ajax for-loop

我正在从ajax中检索列表,当它成功时,我想将这些列表值添加到DropDownList项,所以我想迭代data直到最后一个值,然后将其添加到DropDownList

这是我的代码我尝试了什么

$.ajax({

    type: "POST",
    contentType: "application/json;charset=utf-8",
    url: "GPCreateCheque.aspx/getOpenRequestNo",
    dataType: "json",
    success: function (data) {
       alert(data.length);

        for (var i = 0; i<data.length; i++) {
            $(".tbDDLReqNo").append(new Option(data.d[i], data.d[i]));
        }
    },
    error: function (result) {
        alert("Error");
    }

})
  

在警告框中显示undefined

更新

  

我从list<string>

返回[webmethod]

3 个答案:

答案 0 :(得分:2)

使用data.d.length

alert(data.d.length);

for (var i = 0; i<data.d.length; i++) {
    $(".tbDDLReqNo").append(new Option(data.d[i], data.d[i]));
}

答案 1 :(得分:1)

在将数据视为数组之前,您需要执行select * from dba_registry_sqlpatch; 。它只是一个字符串。

更新:如果您的数据不是数组本身,而是包含名为 d 的数组的对象,则需要使用它。这取决于您的数据结构。

答案 2 :(得分:0)

在Chrome Developer Console或类似工具中查看来自网络标签的响应。响应代码可能是200,但缺少响应数据。

另一方面,您希望在for循环中找到data,但您尝试追加data.d[i]。如果您要追加data.d[i],则必须将data.d改为for循环。