2017-09-25 67 views
-2

我的代码正常工作。使用Ajax访问数据。从这个结果我想要显示标签中的特定值。当我正确地使用下面的代码中值显示从Ajax中获取特殊值结果

var i = parseInt(doc.d.length); 
$("#<%=lblPresnet.ClientID %>").text(doc.d[5].PresentDays); 

,但我需要改变我的代码

var i = parseInt(doc.d.length); 
$("#<%=lblPresnet.ClientID %>").text(doc.d[i].PresentDays); 

在这里,我发现了一个错误

Uncaught TypeError: Cannot read property 'PresentDays' of undefined 

我不有一个想法,为什么它如此
我的阿贾克斯代码

success: function (doc) { 
console.log(doc); 
var my_events = []; 
if (!doc.result) { 
$.each(doc.d, function (index, elem) { 
    my_events.push({ 
     id: elem.EventName, 
     title: elem.EventName, 
     start: elem.StartDate, 
     image: elem.ImageType, 
    }); 
    var i = parseInt(doc.d.length); 
    $("#<%=lblPresnet.ClientID %>").text(doc.d[5].PresentDays); 
}); callback(my_events); 
} 
} 

控制台结果

{d: Array(6)}d: Array(6)0: {EventID: "00000000-0000-0000-0000-000000000000", EventName: "Present", StartDate: "2017-08-01", PresentDays: 1, AbsentDays: 0, …}1: {EventID: "00000000-0000-0000-0000-000000000000", EventName: "Present", StartDate: "2017-08-02", PresentDays: 2, AbsentDays: 0, …}2: {EventID: "00000000-0000-0000-0000-000000000000", EventName: "Present", StartDate: "2017-08-03", PresentDays: 3, AbsentDays: 0, …}3: {EventID: "00000000-0000-0000-0000-000000000000", EventName: "Present", StartDate: "2017-08-04", PresentDays: 4, AbsentDays: 0, …}4: {EventID: "00000000-0000-0000-0000-000000000000", EventName: "Present", StartDate: "2017-08-07", PresentDays: 5, AbsentDays: 0, …}5: {EventID: "00000000-0000-0000-0000-000000000000", EventName: "Present", StartDate: "2017-08-08", PresentDays: 6, AbsentDays: 0, …}length: 6__proto__: Array(0)__proto__: Object 

是他们这

回答

0

doc.d的长度的任何解决方案是6,但其指数从0到5去...我猜你应该改变那些行

var i = parseInt(doc.d.length - 1); 
$("#<%=lblPresnet.ClientID %>").text(doc.d[i].PresentDays); 
+0

@D le。谢谢,我忘了索引计数。 – Jks

+0

高兴地帮助:) –