2014-06-09 5 views
-1

그래서 나는 이것을 알아 내려고 노력했습니다. 나는 중요한 정보가 부족하다고 확신한다. JSON 응답에서 일부 값을 얻고 있습니다. 하나는 이름 목록을 포함합니다. 다른 하나는 이름 목록에 해당하는 URL 목록을 포함합니다. 예를 들어각각에 대해 jquery를 사용하여 동적으로 값을 가져 오는 방법은 무엇입니까?

는 :

{"names":"john,casey,davey", 
    "nameUrls":[{ 
    "johnURL":"http://url.com", 
    "caseyURL":"http://url.com", 
    "daveyURL":"http://url.com"]} 

    names = (data.names).split(','); 

$.each(data.nameUrls, function(key, val) { 
    for (var i = 0; i < names.length; i++) { 
      $("#left").append(val[names[i] + "URL"]); 
    } 
    }) 

이제 첫 번째는 잘 통해 제공됩니다. 그러나 나머지는 정의되지 않았습니다. 그래서 내가 뭘 잘못하고 있니? 귀하의 도움에 미리 감사드립니다.

편집 : 더 많은 코드를 추가하십시오.

답변

1

일부 구문 오류를 수정 한 후 여기서는 콘솔에서 테스트 한 코드가 작동합니다.

위의 행에서 구문 오류가 수정되었지만 원하는 결과를 얻지 못할 수도 있습니다. 아래 코드를 사용하여 알려주십시오. 그 사이에 쉽게 연결이 있도록 데이터를 재구성해야처럼

var data = { 
    "names": "john,casey,davey", 
    "nameUrls": { 
     "johnURL": "http://url1.com", 
     "caseyURL": "http://url2.com", 
     "daveyURL": "http://url3.com" 
    } 
}; 
names = (data.names).split(','); 
$.each(data.nameUrls, function (key, val) { 
    $("#left").append(val); 
}); 
+0

불행히도, 작동하지 않는 것 같습니다. 나는 콘솔에서 정의되지 않은 것을 계속 얻는다. 어떤 추가 생각? – scriptgeeky

+0

예, 나중에 알아 차린 후 대답의 뒷부분/일부를 추가했습니다. 너 해봤 니? 또는 둘 다 실패 했습니까? –

+0

두 번째 시도, 매력처럼 일했다. 감사! – scriptgeeky

0
var data = { 
    "names": "john,casey,davey", 
    "nameUrls": { 
     "johnURL": "http://url.com", 
     "caseyURL": "http://url.com", 
     "daveyURL": "http://url.com" 
    } 
}; 

$.each(data.names.split(','), function (i, v) { 
    $("#left").append(v + " ==> " + data.nameUrls[v + 'URL']); 
}); 
1

이 날 것으로 보인다.

이 것이 좋겠습니까?

data = [ 
    {"name": "john", "url": "http://url.com"}, 
    {"name": "casey", "url": "http://url.com"}, 
    {"name": "davey", "url": "http://url.com"} 
]; 

$.each(data, function(index, person) { 
    $('#left').append(person.url); 
}); 
관련 문제