Javascript 在回调函数中刷新ajax数据
你好。您能给我一个建议,如何在我的回调函数中刷新服务器上的数据吗?例如,我从服务器收到一些名称列表(对象数组。对象由id、名称和页面上创建的对象的一些计数器组成)。当我加载页面时,这个列表创建。但是,如果我在我的页面上创建新项目(无论如何),我希望从服务器刷新数据(例如“刷新btn”单击),以查看我页面上对象的真实计数。(现在,只有用户重新加载页面时,才会看到对象的真实计数)。所以我需要刷新回调函数中的数据Javascript 在回调函数中刷新ajax数据,javascript,jquery,ajax,selectize.js,Javascript,Jquery,Ajax,Selectize.js,你好。您能给我一个建议,如何在我的回调函数中刷新服务器上的数据吗?例如,我从服务器收到一些名称列表(对象数组。对象由id、名称和页面上创建的对象的一些计数器组成)。当我加载页面时,这个列表创建。但是,如果我在我的页面上创建新项目(无论如何),我希望从服务器刷新数据(例如“刷新btn”单击),以查看我页面上对象的真实计数。(现在,只有用户重新加载页面时,才会看到对象的真实计数)。所以我需要刷新回调函数中的数据 getCategoryAdCount: function (callback) {
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.
)};
还不完全清楚您想做什么,但听起来您只需要在两个代码块的范围内声明
类别
变量。@Rorymcrossan抱歉,在问题中添加了一些信息您可能正在谈论拉通知?只需使用ajax获取数据,然后调用getCategoryAddCount
函数并将类别传递给它即可。