无法使 (Footable) 函数在 AJAX 调用中工作,但它在其他地方工作

Cannot get (Footable) function to work from within AJAX call but it works elsewhere

编辑: 似乎这个问题只发生在 Chrome。 Firefox 没问题。

Footable 是一个 JQuery 插件。 https://fooplugins.com/plugins/footable-jquery/

"Footable" 插件使用以下函数使 .table class 具有漂亮的布局。 :

jQuery('.table').footable({
      "columns": result,
      "rows": response
    });

我想 运行 AJAX 调用中的函数:

$.get('../php/campaignmanagement.php', function(response){
 response = JSON.parse(response);
 var columns = Object.keys(response[0]);
 var result = columns.map(x => {
 return {
   title: x,
   name: x
 }//end return
});

//FUNCTION HERE
jQuery('.table').footable({
  "columns": result,
  "rows": response
});
//FUNCTION ABOVE

......... Other irrelevant code... 
});

这给了我以下错误:

jQuery(...).footable is not a function

但是,如果我将函数移到 AJAX 函数之外,它就可以工作。

例如

 //FUNCTION HERE
 jQuery('.table').footable({
      "columns": result,
      "rows": response
    });
 //FUNCTION ABOVE

 $.get('../php/campaignmanagement.php', function(response){
     response = JSON.parse(response);
     var columns = Object.keys(response[0]);
     var result = columns.map(x => {
     return {
       title: x,
       name: x
     }//end return
    });



......... Other irrelevant code... 
});

我需要能够从 AJAX 中 运行 函数。 为什么 AJAX 会导致一切崩溃?

仅供参考:HTML 文档正在调用这样的脚本:(campaignmanagement.js 是具有上述功能的 运行 文件)

    <script src="../vendors/jquery/jquery.js"></script>
    <script src="../vendors/footable/js/footable.js"></script>
    <script src="../vendors/foundation 6/foundation.js" type="text/javascript"></script>
    <script src="../js/campaignmanagement.js"></script>

您在这里使用了两个不同的 jQuery 对象,第一个是 $(除非您已将其分配给我们看不到的其他对象)和 jQuery。您可以只在自身内部使用 $ 对象,或者获取在 AJAX 请求的闭包中可用的元素的引用。

// grab a reference to the table using jquery
var table = $('.table')

$.get('../php/campaignmanagement.php', function(response){
 response = JSON.parse(response);
 var columns = Object.keys(response[0]);
 var result = columns.map(x => {
 return {
   title: x,
   name: x
 }//end return
});

table.footable({
  "columns": result,
  "rows": response
});

});