刷新回调函数

时间:2015-11-24 07:40:39

标签: javascript jquery ajax selectize.js

美好的一天。你能给我一个如何在我的回调函数中刷新服务器数据的建议吗?例如,我从服务器接收一些名称列表(一个对象数组。对象由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. 
)};

0 个答案:

没有答案