неопределенное значение в списке - PullRequest
0 голосов
/ 14 февраля 2019

Я новичок в Ajax, но у меня есть проблема, которую я не могу решить.

Я пытаюсь получить переменную "label" в своем списке для сравнения.я получаю эту ошибку:

Uncaught TypeError: Невозможно прочитать свойство 'label' неопределенного URL: 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 и issenum.Поэтому я пытаюсь сделать тот же цикл, что и 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 голосов
/ 14 февраля 2019

каким-то образом вы использовали неправильный синтаксис для цикла
исправьте цикл для (var test = 0; test istLabelIssue.length; test ++)

0 голосов
/ 14 февраля 2019

Пожалуйста, попробуйте изменить следующую строку:

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

с помощью:

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

условие с listLabelIssue.length всегда будет иметь значение true, если массив не пустой.А также создает бесконечный цикл.

0 голосов
/ 14 февраля 2019

В четвертом цикле вы пропустили <.

Это должно быть

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

Надеюсь, что поможет.

...