美好的一天。你能给我一个如何在我的回调函数中刷新服务器数据的建议吗?例如,我从服务器接收一些名称列表(一个对象数组。对象由id,name和页面上创建的对象的一些计数器组成)。当我加载页面时,此列表会创建。但是,如果我在我的页面上创建新项目(无论如何),我想从服务器刷新数据(例如,在' refresh-btn'点击),以查看我页面上的对象的真实计数。 (现在用户只有在重新加载页面时才会看到对象的真实计数)。所以我需要刷新回调函数中的数据。
getCategoryAdCount: function (callback) {
var that = this,
dataToSend = {
method: 'getCategoryAdCount',
params: {
productId: this.productId
}
};
SJA.ajax(dataToSend, function (respond) {
if (respond) {
callback && callback(respond);
}
console.log(respond);
//always gives true refreshed data. If I add item, we will see it in console. So the problem is in the callback function below
});
};
我的回调:
$(document).ready(
this.getCategoryAdCount(function (categories) {
//this function I call when page loads.
var values = categories.map(function (cat) {return { item : cat.id, text : cat.name + ' (' +cat.count + ')'}; });
//Data from server This data I want to refresh.
console.log(values)
//always gives only initial result. If I add new item, we won't see it in console.
console.log(categories);
$('.filter').selectize({
plugins: ['remove_button'],
delimiter: ',',
persist: false,
maxItems: 5,
options: values,
labelField: "text",
valueField: "item",
sortField: 'text',
searchField: 'text',
create: function(input) {
return {
value: input,
text: input
}
}
});
}.bind(this));
$('.refresh-btn').on('click', function(){}) //This is an event, on which I want to refresh data in function above.
)};