1
Instagram 이미지의 링크 값을 배열에 추가하려고합니다. 링크 값이 콘솔에서 잘 보이지만 내 배열 길이는 0이고 ajax 함수 다음입니다. 또한 모든 링크 앞에 '0'이 표시됩니다.아약스 배열에 항목을 추가 할 수 없습니다
이 문제는 비동기 적으로 실행되는 ajax로 인해 발생하며 나머지 js 코드는 실제로 $ images에 추가되기 전에 실제로 실행되지만 저는 이것을 우회하는 방법을 모릅니다. 이것은 내 코드입니다 :
$liked = 'https://api.instagram.com/v1/users/self/media/liked?access_token=' + $access_token + '&COUNT=20';
$images = []
$.ajax({
type:'get',
dataType:'jsonp',
cache: false,
url: $liked,
success: function(data) {
for (var i = 0; i < data.data.length; i++) {
console.log(data.data[i].images.standard_resolution.url);
$images.push(data.data[i].images.standard_resolution.url);
}
}
});
console.log($images.length);
왜'$의 images'는 AJAX 호출 후 길이가 0이 될 것인가? 배열에 푸시 된 후 데이터가 그대로 남아 있지 않습니까? – aug
자, 이제 올바른 배열 길이가 추가되었습니다. 그렇다면이 채워진 배열을 사용하는 모든 함수가 성공 블록 내에서 호출되어야한다는 의미입니까? – thejmazz
일반적으로 네,하지만 필요에 따라 다르며 구현에 따라 달라집니다. –