2012-09-08 2 views
0

json으로 문제가 반복되고 있습니다.문제 루핑 Json

아래 코드에서 루프 된 URL의 순서가 잘못되었으며 경고의 ID는 항상 3입니다. 누군가 내가 잘못하고있는 것을 말해 줄 수 있습니까?

var urls = ["http://soundcloud.com/disclosuremusic/sets/the-face-ep-1", "http://soundcloud.com/skibsthekid/sets/the-pink-slip", "http://soundcloud.com/disclosuremusic/sets/the-face-ep-1"]; 

for (var i = 0, url; url = urls[i]; i++) { 
     console.log(i); 

    $.getJSON('http://api.soundcloud.com/resolve?url=' + url + '&format=json&consumer_key=' + consumer_key, function(playlist) { 
     alert(i + playlist.title); 
    }); 
} 
+0

(var i = 0, url; url == urls [i]; i ++) { – Gautam3164

답변

2
$.each(urls,function(key,value) { 
     console.log(value); 

    $.getJSON('http://api.soundcloud.com/resolve?url=' + value + '&format=json&consumer_key=' + consumer_key, function(playlist) { 
     alert(i + playlist.title); 
    }); 
}); 
+0

건배 메이트! 이것은 내가 필요한 것입니다. –

1

예, 경보의 ID는 항상 귀하의 경우 3있을 것입니다 -하지만 때문에 자바 스크립트 건축.

$.get({ format : 'JSON' })을위한 속기이다 $.getJSON() 방법은, 다음과 같은 역할을합니다 :

  • 자바 스크립트 이봐, 당신은 나에게 url의 JSON 컨텐츠를 전해 주 시겠어요?
  • 네,하지만 몇 가지 할 일이 있습니다. 서버가 응답 할 때까지 기다릴 수 없습니다.이 데이터로 수행 할 작업을 원하는대로 알려주고 함수 안에 넣으십시오. 한편 나는 스크립트를 사용하여 계속 진행할 것이다. 왜냐하면 필자는 일부 div를 퇴색해야하기 때문이다.
  • ok javascript, 여기는 function(playlist){ ... }입니다.

이것은 for 루프가 끝난 후 function(playlist){ ... } 콜백 방법을 실행하는 것을 의미 - i 항상 3

솔루션 이유는? 클로저 콜백이 현재 반복에서 i을 인식하게하려면 - 주제가 짧지 않으므로 화려한 John Resig's interactive lecture을 가져 가야합니다.