【发布时间】:2018-06-07 02:25:52
【问题描述】:
我正在写一段代码,其中:
- 用户输入位置,
- 单击按钮进行 GET 调用以根据位置检索数据,并且
- 根据数据填充表格。
每次用户单击按钮时,我都想刷新表格内容,但现在它一直在追加。我想写一个clearTable() 方法,但我尝试过.remove()、.parentNode.remove(table)、tr:gt(0).remove() 等...没有成功。
console.log() 表示清空时表格只有一行(表头)。我没有包含我的 clearTable() 代码,因为我尝试了很多东西,但都没有奏效,但我确实显示了我试图调用它的位置。
另外,不确定是否相关,但是虽然我的 GET 调用似乎没有问题地完成,但我的浏览器的开发者控制台显示
尝试加载资源时出错
我在 HTML 正文中的表格代码:
<div class=ui-grid-b">
<table id="locTable">
<tr>
<th>Name</th>
<th>ID</th>
<th>Description</th>
</tr>
</table>
</div>
Javascript:
$('#loadData').click(function (e) {
if (getLocationInput() == '') {
alert("Please enter a location.");
}
else {
// clearTable(); <-- Currently not working
var locData;
$.ajax({
'type': 'GET',
'url': href,
'contentType': 'application/json',
'dataType': 'json',
headers: { 'Authorization': "Bearer " + getAccessToken() },
async: false,
success: function(data) {
locData = data;
},
error: function (xhr, ajaxOptions, thrownError) {
handleAjaxError(xhr, thrownError);
}
});
// Appends table with values from data
$(function() {
$.each(locData.data, function(i, loc) {
$('<tr>').append(
$('<td>').text(loc.name),
$('<td>').text(location.id),
$('<td>').text(loc.description)).appendTo('#locTable');
});
});
}
});
【问题讨论】:
-
即使您的 clearTable 功能不起作用,您能否发布它?
-
当您尝试在
$.each()中使用它时,您怎么知道locData有结果?
标签: javascript jquery ajax html-table get