如何将ajax结果返回到全局变量

时间:2018-03-19 18:22:14

标签: jquery ajax

我尝试使用jquery创建分页。我想返回一个对全局变量的ajax成功响应。 我创建了一个全局变量并存储了响应。但我无法访问成功块以外的地方。我想动态更改值,因为当我单击下一页而不刷新时它会检索数据。提前谢谢..

代码:

  var tmp;
     $('table').DataTable ({
        serverSide:true,
        ajax : {
            url:'http://localhost:8000/api/feeds/1/',
            type:'GET',                
        },drawCallback : function(settings) {

          var api = this.api();
          tmp = api.rows({page:'current'}).data();

        }
      });
    console.log(tmp); 

1 个答案:

答案 0 :(得分:1)

试试这个,我已经承诺了你的请求。正如@Napoli在评论

中所建议的那样
function loadTable(){ 
  $('table').DataTable ({
    serverSide:true,
    ajax : {
      url:'http://localhost:8000/api/feeds/1/',
      type:'GET',                
    },
    drawCallback : function(settings) {
      var api = this.api();
      tmp = api.rows({page:'current'}).data();
      console.log("from api :", tmp);
      return Promise.resolve(tmp);
    },
    error : function( xhr, textStatus, error ) {
      console.log("error", xhr, textStatus, error);
      return Promise.reject(error)
    }
  });
}

loadTable.then(data => console.log("outside loadTable()",data));

我还没有测试过这个,这只是为了给你一个清晰的想法。