2017-10-10 77 views
0

我從阿賈克斯檢索列表,當它成爲一個成功,我要添加這些列表值下拉列表項,那麼我想遍歷data直到最後一個值,然後將其添加到DropDownList如何找到成功的數據jQuery中的Ajax的長度?

這裏是我的代碼是什麼我試圖

$.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

UPDATE

我返回list<string>[webmethod]

+0

是什麼你'data'是什麼樣子?嘗試'的console.log(數據)' – abhishekkannojia

+0

提供的'data' –

+0

結構@abhishekkannojia它有一個'清單' –

回答

0

使用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])); 
} 
+0

到底是誰給了反對票?....我會接受你的答案15分鐘後 –

+0

@mohamedfaiz謝謝兄弟。 – krishnar

0

你需要像處理數組數據之前做data = JSON.parse(data);。這只是一個字符串。

更新:如果您的數據不是數組本身,而是包含名爲d的數組的對象,則需要使用該數組。這取決於你的數據結構。

+0

'data'場是什麼樣的,我們要發送到服務器的正確?如果我沒看錯的,當我提醒'data.d [0]',它打印陣列 –

+0

我不的第一個值的數據不知道你通過Ajax接收了什麼。通常,你會得到一個JSON格式的字符串。這個字符串需要被解析成一個Javascript對象。如果您的數據包含JSON格式的數組,請試試這個:*警報(JSON.parse(數據)。長度); *這應該給你數組的長度。 – Robert

0

檢查從網絡選項卡中的Chrome開發者控制檯或類似工具的響應。可能是響應代碼是200,但響應數據丟失。

另一方面,您希望在for循環中使用data,但您嘗試追加data.d[i]。如果要追加data.d[i]你必須itarete在for循環data.d