Как зациклить массивы JSON в параметре обратного вызова в ajax? - PullRequest
0 голосов
/ 13 июня 2019

У меня есть следующий фрагмент Javascript:

 $.ajax({
                url: "http://localhost/prove/infoFrancigena_3.json",
                dataType: "json",

                success: function (data) {
                    console.log("getJSON wit AJAX method has been activated");                   

                    for (i = 0; i < data.length; i++) {

                        var tappa = data.tappe[i];

                        debugger;

                        var text = $('#inlineFormInputCittà').val();

                        if (tappa.city.includes(text)) {

                            console.log("JSON file has been activated"); 

                            $("#tbody").append("</tr>");
                            $("#tbody").append("<td>" + tappa + "</td>");
                            $("#tbody").append("</tr>");                            
                        }
                    }
                }
            });

Объект JSON, который здесь вызывается, является следующим (это массив JSON, содержащий 63 объекта):

 {
      "tappe": [
        {
          "name": "Tappa22 - Passo della Cisa - Pontremoli",
          "state": "Italy",
          "region": "Toscana",
          "city": "Groppoli(Mulazzo)"
        },
        {
          "name": "Tappa22 - Passo della Cisa - Pontremoli",
          "state": "Italy",
          "region": "Toscana",
          "city": "Groppodalosio"
        },
        {
          "name": "Tappa22 - Passo della Cisa - Pontremoli",
          "state": "Italy",
          "region": "Toscana",
          "city": "Casalina"
        },
        {
          "name": "Tappa22 - Passo della Cisa - Pontremoli",
          "state": "Italy",
          "region": "Toscana",
          "city": "Topelecca"
        },
        {
          "name": "Tappa22 - Passo della Cisa - Pontremoli",
          "state": "Italy",
          "region": "Toscana",
          "city": "Arzengio"
        },
        {
          "name": "Tappa22 - Passo della Cisa - Pontremoli",
          "state": "Italy",
          "region": "Toscana",
          "city": "Pontremoli"
        },
        {
          "name": "Tappa23- Pontremoli - Aulla",
          "state": "Italy",
          "region": "Toscana",
          "city": "Pontremoli"
        },
        {
          "name": "Tappa23- Pontremoli - Aulla",
          "state": "Italy",
          "region": "Toscana",
          "city": "Filattiera"
        },
        {
          "name": "Tappa23- Pontremoli - Aulla",
          "state": "Italy",
          "region": "Toscana",
          "city": "Filetto"
        },
        {
          "name": "Tappa23- Pontremoli - Aulla",
          "state": "Italy",
          "region": "Toscana",
          "city": "Villafranca"
        },
        {
          "name": "Tappa23- Pontremoli - Aulla",
          "state": "Italy",
          "region": "Toscana",
          "city": "Virgoletta"
        },
        {
          "name": "Tappa23- Pontremoli - Aulla",
          "state": "Italy",
          "region": "Toscana",
          "city": "Aulla"
        },
        {
          "name": "Tappa24-Aulla - Avenza",
          "state": "Italy",
          "region": "Toscana",
          "city": "Aulla"
        },
        {
          "name": "Tappa24-Aulla - Avenza",
          "state": "Italy",
          "region": "Toscana",
          "city": "Sarzana"
        },
        {
          "name": "Tappa24-Aulla - Avenza",
          "state": "Italy",
          "region": "Toscana",
          "city": "Caniparola(Fosdinovo)"
        },
        {
          "name": "Tappa25-Avenza - Pietrasanta",
          "state": "Italy",
          "region": "Toscana",
          "city": "Avenza"
        },
        {
          "name": "Tappa25-Avenza - Pietrasanta",
          "state": "Italy",
          "region": "Toscana",
          "city": "Massa"
        },
        {
          "name": "Tappa25-Avenza - Pietrasanta",
          "state": "Italy",
          "region": "Toscana",
          "city": "Pietrasanta"
        },
        {
          "name": "Tappa26-Pietrasanta - Lucca",
          "state": "Italy",
          "region": "Toscana",
          "city": "Pietrasanta"
        },
        {
          "name": "Tappa26-Pietrasanta - Lucca",
          "state": "Italy",
          "region": "Toscana",
          "city": "Camaiore"
        },
        {
          "name": "Tappa26-Pietrasanta - Lucca",
          "state": "Italy",
          "region": "Toscana",
          "city": "Badia(Altopascio)"
        },
        {
          "name": "Tappa26-Pietrasanta - Lucca",
          "state": "Italy",
          "region": "Toscana",
          "city": "Montemagno(Calci)"
        },
        {
          "name": "Tappa26-Pietrasanta - Lucca",
          "state": "Italy",
          "region": "Toscana",
          "city": "Lucca"
        },
        {
          "name": "Tappa27-Lucca - Altopascio",
          "state": "Italy",
          "region": "Toscana",
          "city": "Lucca"
        },
        {
          "name": "Tappa27-Lucca - Altopascio",
          "state": "Italy",
          "region": "Toscana",
          "city": "Capannori"
        },
        {
          "name": "Tappa27-Lucca - Altopascio",
          "state": "Italy",
          "region": "Toscana",
          "city": "Badia Pozzeveri"
        },
        {
          "name": "Tappa27-Lucca - Altopascio",
          "state": "Italy",
          "region": "Toscana",
          "city": "Altopascio"
        },
        {
          "name": "Tappa28- Altopascio - San Miniato",
          "state": "Italy",
          "region": "Toscana",
          "city": "Altopascio"
        },
        {
          "name": "Tappa28- Altopascio - San Miniato",
          "state": "Italy",
          "region": "Toscana",
          "city": "Ponte a Cappiano (Fucecchio)"
        },
        {
          "name": "Tappa28- Altopascio - San Miniato",
          "state": "Italy",
          "region": "Toscana",
          "city": "Fucecchio"
        },
        {
          "name": "Tappa28- Altopascio - San Miniato",
          "state": "Italy",
          "region": "Toscana",
          "city": "San Miniato"
        },
        {
          "name": "Tappa29- San Miniato - Gambassi Terme",
          "state": "Italy",
          "region": "Toscana",
          "city": "San Miniato"
        },
        {
          "name": "Tappa29- San Miniato - Gambassi Terme",
          "state": "Italy",
          "region": "Toscana",
          "city": "Coiano(Castelfiorentino)"
        },
        {
          "name": "Tappa29- San Miniato - Gambassi Terme",
          "state": "Italy",
          "region": "Toscana",
          "city": "Chianni(Gambassi Terme)"
        },
        {
          "name": "Tappa29- San Miniato - Gambassi Terme",
          "state": "Italy",
          "region": "Toscana",
          "city": "Gambassi Terme"
        },
        {
          "name": "Tappa30- Gambassi Terme - San Gimignano",
          "state": "Italy",
          "region": "Toscana",
          "city": "Gambassi Terme"
        },
        {
          "name": "Tappa30- Gambassi Terme - San Gimignano",
          "state": "Italy",
          "region": "Toscana",
          "city": "Pancole(San Gimignano)"
        },
        {
          "name": "Tappa30- Gambassi Terme - San Gimignano",
          "state": "Italy",
          "region": "Toscana",
          "city": "Cellole (San Gimignano)"
        },
        {
          "name": "Tappa30- Gambassi Terme - San Gimignano",
          "state": "Italy",
          "region": "Toscana",
          "city": "San Gimignano"
        },
        {
          "name": "Tappa31- San Gimignano - Monteriggioni",
          "state": "Italy",
          "region": "Toscana",
          "city": "San Gimignano"
        },
        {
          "name": "Tappa31- San Gimignano - Monteriggioni",
          "state": "Italy",
          "region": "Toscana",
          "city": "Aiano (San Gimignano)"
        },
        {
          "name": "Tappa31- San Gimignano - Monteriggioni",
          "state": "Italy",
          "region": "Toscana",
          "city": "Gracciano (Colle Val d'Elsa"
        },
        {
          "name": "Tappa31- San Gimignano - Monteriggioni",
          "state": "Italy",
          "region": "Toscana",
          "city": "Strove(Monteriggioni)"
        },
        {
          "name": "Tappa31- San Gimignano - Monteriggioni",
          "state": "Italy",
          "region": "Toscana",
          "city": "Abbadia a Isola(Monteriggioni)"
        },
        {
          "name": "Tappa31- San Gimignano - Monteriggioni",
          "state": "Italy",
          "region": "Toscana",
          "city": "Monteriggioni"
        },
        {
          "name": "Tappa32- Monteriggioni - Siena",
          "state": "Italy",
          "region": "Toscana",
          "city": "Monteriggioni"
        },
        {
          "name": "Tappa32- Monteriggioni - Siena",
          "state": "Italy",
          "region": "Toscana",
          "city": "Cerbaia (San Casciano in Val di Pesa"
        },
        {
          "name": "Tappa32- Monteriggioni - Siena",
          "state": "Italy",
          "region": "Toscana",
          "city": "Siena"
        },
        {
          "name": "Tappa33- Siena - Ponte d’Arbia",
          "state": "Italy",
          "region": "Toscana",
          "city": "Siena"
        },
        {
          "name": "Tappa33- Siena - Ponte d’Arbia",
          "state": "Italy",
          "region": "Toscana",
          "city": "Ponte d’Arbia"
        },
        {
          "name": "Tappa34- Ponte d’Arbia - San Quirico d'Orcia",
          "state": "Italy",
          "region": "Toscana",
          "city": "Ponte d’Arbia"
        },
        {
          "name": "Tappa34- Ponte d’Arbia - San Quirico d'Orcia",
          "state": "Italy",
          "region": "Toscana",
          "city": "Buonconvento"
        },
        {
          "name": "Tappa34- Ponte d’Arbia - San Quirico d'Orcia",
          "state": "Italy",
          "region": "Toscana",
          "city": "Torrenieri"
        },
        {
          "name": "Tappa34- Ponte d’Arbia - San Quirico d'Orcia",
          "state": "Italy",
          "region": "Toscana",
          "city": "San Quirico d'Orcia"
        },
        {
          "name": "Tappa35- San Quirico - Radicofani",
          "state": "Italy",
          "region": "Toscana",
          "city": "San Quirico"
        },
        {
          "name": "Tappa35- San Quirico - Radicofani",
          "state": "Italy",
          "region": "Toscana",
          "city": "Vignoni Alto"
        },
        {
          "name": "Tappa35- San Quirico - Radicofani",
          "state": "Italy",
          "region": "Toscana",
          "city": "Bagno Vignoni"
        },
        {
          "name": "Tappa35- San Quirico - Radicofani",
          "state": "Italy",
          "region": "Toscana",
          "city": "Gallina"
        },
        {
          "name": "Tappa35- San Quirico - Radicofani",
          "state": "Italy",
          "region": "Toscana",
          "city": "Radicofani"
        },
        {
          "name": "Tappa36- Radicofani - Aquapendente",
          "state": "Italy",
          "region": "Toscana",
          "city": "Radicofani"
        },
        {
          "name": "Tappa36- Radicofani - Aquapendente",
          "state": "Italy",
          "region": "Toscana",
          "city": "Ponte a Rigo (San Casciano)"
        },
        {
          "name": "Tappa36- Radicofani - Aquapendente",
          "state": "Italy",
          "region": "Toscana",
          "city": "Proceno"
        },
        {
          "name": "Tappa36- Radicofani - Aquapendente",
          "state": "Italy",
          "region": "Toscana",
          "city": "Acquapendente (Lazio)"
        }
      ]
    }

Я хочу вызывать function (data) всякий раз, когда пользователь вводит строку, соответствующую значению ключа "city" (в одном или нескольких объектах массива JSON).

Функция (данные) не работает, и отладчик не сообщает о какой-либо ошибке (я должен написать это в другом месте?).

Полагаю, в синтаксисе цикла for что-то не так.

Как зациклить массивы JSON в опции обратного вызова в ajax?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...