jsonplaceholder.typicode.com JSONからToDoタイトルを取得しようとしています。私は3つのボタンを持っていて、それぞれのボットンは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に追加します。 –