.each() 메서드가 실제로 작동하지 않는 것처럼 느껴집니다.jQuery. 마지막 값을 반환하는 각 메서드
function makeHTML(data) {
console.info(data.categories);
$(data).each(function() {
let createButton = `
<div class="col-md-6">
<button type="button" class="btn btn-default">
<a href="${data.categories.category.id}"
target="_blank">${data.categories.category.title}</a>
</button>
</div>
`;
document.getElementById('table').innerHTML = createButton;
});
}
$(document).ready(function() {
$.ajax({
type: 'GET',
contentType: "application/json; charset=utf-8",
url: "json/data.json",
dataType: "json",
success: makeHTML,
error: function (result) {
console.error(result);
}
});
});
그것은 단지이처럼 보이는 JSON의 마지막 세트를 반환 것 : 여기 내 코드입니다
{
"categories": {
"category": {
"title": "Something",
"id": 1
},
"category": {
"title": "Something Else",
"id": 2
}
}
}
내가 디버거를 추가하는 시도; innerHTML = createButton 바로 다음에; 루프를 살펴보기 위해 jQuery를 한번만 사용한다. 이상해. 내가 뭘 잘못하고 있는지 모르겠다. 당신이 그런 식으로 그들을 적재 할 수 있도록, 두 개체를 인식
{
"categories": {
"category1": {
"title": "Something",
"id": 1
},
"category2": {
"title": "Something Else",
"id": 2
}
}
}
귀하의 코드 : 당신이 그것을 변경하는 경우
을 각각의 목적은 무엇입니까? 콜백 내에서 매개 변수를 사용하는 것을 보지 못합니다. 항상'data.categories'가 항상 같은 것이 아니겠습니까? – elclanrs
'categories'는'category' _twice_ 속성을 가진 객체입니다. – robertklep
제안한대로'categories'가 배열이되기를 원할 것입니다. – robertklep