Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在回调函数中刷新ajax数据_Javascript_Jquery_Ajax_Selectize.js - Fatal编程技术网

Javascript 在回调函数中刷新ajax数据

Javascript 在回调函数中刷新ajax数据,javascript,jquery,ajax,selectize.js,Javascript,Jquery,Ajax,Selectize.js,你好。您能给我一个建议,如何在我的回调函数中刷新服务器上的数据吗?例如,我从服务器收到一些名称列表(对象数组。对象由id、名称和页面上创建的对象的一些计数器组成)。当我加载页面时,这个列表创建。但是,如果我在我的页面上创建新项目(无论如何),我希望从服务器刷新数据(例如“刷新btn”单击),以查看我页面上对象的真实计数。(现在,只有用户重新加载页面时,才会看到对象的真实计数)。所以我需要刷新回调函数中的数据 getCategoryAdCount: function (callback) {

你好。您能给我一个建议,如何在我的回调函数中刷新服务器上的数据吗?例如,我从服务器收到一些名称列表(对象数组。对象由id、名称和页面上创建的对象的一些计数器组成)。当我加载页面时,这个列表创建。但是,如果我在我的页面上创建新项目(无论如何),我希望从服务器刷新数据(例如“刷新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. 
)};

还不完全清楚您想做什么,但听起来您只需要在两个代码块的范围内声明
类别
变量。@Rorymcrossan抱歉,在问题中添加了一些信息您可能正在谈论拉通知?只需使用ajax获取数据,然后调用
getCategoryAddCount
函数并将类别传递给它即可。