jQuery에서 항목을 배열에 추가하려면 어떻게 해야 합니까?
var list = [];
$.getJSON("json.js", function(data) {
$.each(data, function(i, item) {
console.log(item.text);
list.push(item.text);
});
});
console.log(list.length);
list.length
는 항상 0을 반환합니다.JSON은 파이어버그에서 검색해 봤는데 모양도 좋고 다 괜찮아 보여요.어레이에 항목을 추가할 수 없는 것 같습니다.무엇이 부족합니까?
부터$.getJSON
비동기입니다.console.log(list.length);
어레이가 채워지기 전에 코드가 기동하고 있습니다.이 문제를 해결하려면console.log
콜백 내의 스테이트먼트:
var list = new Array();
$.getJSON("json.js", function(data) {
$.each(data, function(i, item) {
console.log(item.text);
list.push(item.text);
});
console.log(list.length);
});
비동기적인 Ajax 요구를 하고 있기 때문에 목록 길이의 콘솔로그가 Ajax 요구가 완료되기 전에 발생합니다.
원하는 것을 실현하는 유일한 방법은 Ajax 콜을 동기화하는 것입니다.이를 수행하려면 .ajax를 사용하여 asynch : false를 전달합니다.다만, 유저가 브라우저로부터 크래시 아웃 할 필요가 있는 경우는, 콜이 반환될 때까지 UI 가 잠기므로, 이것을 권장하지 않습니다.
이게 도움이 되길..
var list = [];
$(document).ready(function () {
$('#test').click(function () {
var oRows = $('#MainContent_Table1 tr').length;
$('#MainContent_Table1 tr').each(function (index) {
list.push(this.cells[0].innerHTML);
});
});
});
언급URL : https://stackoverflow.com/questions/1353245/how-do-i-add-items-to-an-array-in-jquery
'programing' 카테고리의 다른 글
패키지를 설치하는 동안 npm ERR! git dep 준비에 실패했습니다.json (0) | 2023.03.23 |
---|---|
휴지 상태를 사용하여 Oracle에서 대용량 BLOB(100MB 이상)를 유지하는 방법 (0) | 2023.03.23 |
WebSockets를 사용할 수 있는데 AJAX를 사용하는 이유는 무엇입니까? (0) | 2023.03.23 |
AJAX & jQuery에서 django 폼을 게시하는 방법 (0) | 2023.03.23 |
새 봄 MVC 프로젝트를 위한 Tymeleaf와 Angular 중 선택 (0) | 2023.03.23 |