jsonplaceholder.typicode.com JSON에서 todo 제목을 얻으려고합니다. 나는 세 개의 버튼을 가지고 있고 각각의 botton은 id를 가지고 있으며, id는 json todo와 관련이있다. botton을 클릭하면 해당 json todo의 제목이 표시됩니다.왜 ajax 요청이 반복됩니까?
버튼 1 =
jsonplaceholder.typicode.com/todos/1 버튼 2 = jsonplaceholder.typicode.com/todos/2
등
$('button').click(function (event) {
var id = event.target.id;
console.log(id);
$.ajax({
url: "https://jsonplaceholder.typicode.com/todos/" + id,
type: "GET"
}).done(function (data) {
$('#result').append('<div class="todo"></div>');
$.each(data, function (key, value) {
if (key == "title") {
$('.todo').append('<p>' + key + ': ' + value + '</p>');
}
});
}).fail(function (event) {
alert(event.status);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="1">A</button>
<button id="2">B</button>
<button id="3">C</button>
<div id="result">
</div>
문제는 버튼을 클릭 할 때마다 제목이 반복된다는 것입니다. 왜 이런 일이 발생합니까?
왜냐하면 클릭 할 때마다'$ ('# result'). append ('
');'를 다시 수행 한 다음 모든 todo div에 추가하기 때문입니다. –