【发布时间】:2017-11-20 23:12:53
【问题描述】:
我正在尝试从 jsonplaceholder.typicode.com JSON 获取待办事项标题。我有三个按钮,每个按钮都有和 id,该 id 与 json todo 相关。当您单击一个按钮时,您会看到该 json todo 的标题。
按钮 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('<div class="todo"></div>');,然后追加到所有tododiv。
标签: javascript jquery json ajax