列表中的未定义值

时间:2019-02-14 11:03:41

标签: javascript ajax undefined

我是Ajax的初学者,但是有一个我无法解决的问题。

我试图在列表中获取变量“ label”以进行比较。 我不断收到此错误:

  

未捕获的TypeError:无法读取未定义的属性“标签”   网址:http://localhost:8098/g2s/main/groupama/entreesParDomaine/entreesParDomaine.js?bust=1550141236956

这是我要进行的比较:

JS文件:

for (var k = 0; k < ucManager.listComponent.length; k++) {
    var nbEntreesReel = 0;
    //Boucle sur les issues de jira
    for (var j = 0; j < nbIssue; j++) {
        var listDomainIssue = ucManager.listIssue[j].domainList;
        var comptabilise = false;
        var no = true;
        var listLabelIssue = ucManager.listIssue[j].labelList;
        for (var l = 0; l < listDomainIssue.length; l++) {
           if (listDomainIssue[l].name == ucManager.listComponent[k].text) {
             comptabilise = true;
           }
        }
        for (var test = 0; listLabelIssue.length; test++) {
            if (listLabelIssue[test].label == "TGC1") {
               no = false;
            }
        }
}

列表:listIssue中包含3个元素:id,label和issuenum。 所以我正在尝试做与listDomainIssue[l].name == ucManager.listComponent[k].text

完全相同的循环

但是它不起作用。

这里是Ajax的一部分,但我真的不知道如何正确使用它。

AJAx:

initJiraData : function() {
        $.ajax({
            type : 'GET',
            url : REST_PATH + 'groupama/jira/jiraDataGc',
            dataType : "json",
            async : false,
            contentType : 'application/json',
            success : function(data) {
                ucManager.listIssue = data.listIssue;
                var nbComponent = data.listComponent.length;
                for (i = 0; i < nbComponent; i++) {
                    var temp = new Object();
                    temp.id = i;
                    temp.text = data.listComponent[i].name;
                    ucManager.listComponent[i] = temp;

希望你能帮助我。

3 个答案:

答案 0 :(得分:0)

在第四个循环中,您错过了<

应该是

for (var test = 0; test < listLabelIssue.length; test++) {
        if (listLabelIssue[test].label == "TGC1") {
           no = false;
        }
    }

希望有帮助。

答案 1 :(得分:0)

您为循环使用了错误的语法
请更正循环(var test = 0; test istLabelIssue.length; test ++)

答案 2 :(得分:0)

请尝试更改以下行:

for (var test = 0; listLabelIssue.length; test++) {

具有:

for (var test = 0; test < listLabelIssue.length; test++) {

如果数组不为空,则带有listLabelIssue.length的条件将始终为true。并且还会创建无限循环。