AJAX 请求 Returns 双对象列表 - YUI
AJAX Request Returns Doubled List of Objects - YUI
我正在使用 YUI 的 Datatable Column Formatter 格式化从 AJAX 请求返回的一些数据。这是配置:
var dataTable = new Y.DataTable(
{
id: 'my-table',
height: '500px',
width: '500px'
});
var columns = [{
key: 'id',
label: 'ID'
}, {
label: 'Name',
formatter: function (o) {
console.log(o.data);
return o.data.name;
}
},
{
key: 'department',
label: 'Department'
}
];
function search(){
dataSource = new Y.DataSource.IO({source: '/search' });
dataSource.sendRequest({
dataType: 'json',
on: {
success: function(e) {
response = e.data.responseText;
data = Y.JSON.parse(response);
dataTable.set('columns', columns);
dataTable.set('data', data.content);
},
failure: function(e) {
//do stuff
}
});
}
我的 table 填充正常
这是从控制台返回的
Object {id: 1, name: "Bob", department: 001}
Object {id: 2, name: "Andy", department: 003}
但是,如果我第二次发起请求,返回的对象数量会翻倍
Object {id: 1, name: "Bob", department: 001}
Object {id: 2, name: "Andy", department: 003}
Object {id: 1, name: "Bob", department: 001}
Object {id: 2, name: "Andy", department: 003}
虽然数据仍然显示,但这种重复破坏了其他地方的功能。另外,无论请求发起多少次,只有双倍列表returns。知道为什么对象会合并吗?
尝试删除每个 AJAX 请求的现有数据。 $('#myTableID').remove()
然后重新创建。您的 AJAX 调用似乎是附加到现有内容
我正在使用 YUI 的 Datatable Column Formatter 格式化从 AJAX 请求返回的一些数据。这是配置:
var dataTable = new Y.DataTable(
{
id: 'my-table',
height: '500px',
width: '500px'
});
var columns = [{
key: 'id',
label: 'ID'
}, {
label: 'Name',
formatter: function (o) {
console.log(o.data);
return o.data.name;
}
},
{
key: 'department',
label: 'Department'
}
];
function search(){
dataSource = new Y.DataSource.IO({source: '/search' });
dataSource.sendRequest({
dataType: 'json',
on: {
success: function(e) {
response = e.data.responseText;
data = Y.JSON.parse(response);
dataTable.set('columns', columns);
dataTable.set('data', data.content);
},
failure: function(e) {
//do stuff
}
});
}
我的 table 填充正常
这是从控制台返回的
Object {id: 1, name: "Bob", department: 001}
Object {id: 2, name: "Andy", department: 003}
但是,如果我第二次发起请求,返回的对象数量会翻倍
Object {id: 1, name: "Bob", department: 001}
Object {id: 2, name: "Andy", department: 003}
Object {id: 1, name: "Bob", department: 001}
Object {id: 2, name: "Andy", department: 003}
虽然数据仍然显示,但这种重复破坏了其他地方的功能。另外,无论请求发起多少次,只有双倍列表returns。知道为什么对象会合并吗?
尝试删除每个 AJAX 请求的现有数据。 $('#myTableID').remove()
然后重新创建。您的 AJAX 调用似乎是附加到现有内容