У меня проблема, когда ajax может видеть данные, которые я дал из фляжки, но, похоже, это не синтаксический анализ внутри, когда я его зацикливаю. В настоящее время это 1 элемент цикла, но он будет больше, когда в него будут поступать данные.Как перебрать элементы в списке json Ajax/Javascript
Json строка:
{ "routers" : {"DNSROOTSERVER": {"os": "4.4.4.4", "name": "DNSROOTSERVER"}}}
так понимает data.routers, и он даже понимает data.routers.DNSROOTSERVER.name (как вы увидите в console.log), но когда я использую петля над data.routers, зацикленный элемент отображает (el), но он, похоже, терпит неудачу, когда я пытаюсь el.name, заявив, что он не определен. Javascript ниже:
$(document).ready(function(){
$.ajax({ url: "{{ url_for('.gui_form') }}", dataType: 'json',
success: function(data, textStatus, xhr){
console.log(data)
$(data.routers).each(function(i, el) {
console.log(el)
console.log(el.os)
console.log(data.routers.DNSROOTSERVER.os)
var listem = "<br>" + el.name;
$("#routers").append("<li>" + listem + "</li>");
});
}
});
});
Я расширил журнал консоли, так что вы можете увидеть, что данные там и как зацикленной el.os выходит неопределенными, но data.routers.DNSROOTSERVER.name выходит чисто, как ИОС:
Object {routers: Object}routers: ObjectDNSROOTSERVER: Objectip: "4.4.4.4"name: "DNSROOTSERVER"os: "ios"__proto__: Object__proto__: Object__proto__: Object
Object {DNSROOTSERVER: Object}DNSROOTSERVER: Objectip: "4.4.4.4"name: "DNSROOTSERVER"os: "ios"__proto__: Object__proto__: Object
undefined
ios
Любые идеи, что я делаю неправильно?
от того, что я могу видеть в вашем JSON вам не нужны никакие петли – madalinivascu
на основе вашего яваскрипта в JSON Шоуда выглядеть '{«маршрутизаторов»: [{ «os»: «4.4.4.4», «name»: «DNSROOTSERVER»}]} ' – madalinivascu
try $ (data.routers.DNSROOTSERVER) .each (...) –