Тот факт, что браузер загружает файл только в первый раз, когда вы указываете одну и ту же ссылку, я думаю, связан с возможностями кэширования браузера и не имеет никакого отношения к DataTables или вашему коду.Браузер помещает содержимое в свой кэш в первый раз, а затем передает его оттуда.
Вы можете использовать этот факт в своих интересах, используя опцию sAjaxDataProp .Я думаю что-то вроде этого:
$('#table1').dataTable( {
"sAjaxSource": "sources/data.txt",
"sAjaxDataProp": "table1"
} );
$('#table2').dataTable( {
"sAjaxSource": "sources/data.txt",
"sAjaxDataProp": "table2"
} );
[ ... ]
$('#tableN').dataTable( {
"sAjaxSource": "sources/data.txt",
"sAjaxDataProp": "tableN"
} );
Это скажет DataTable искать определенный массив javascript в загруженном контенте.Очевидно, что файл data.txt
должен содержать объявление каждой таблицы.
Если вы хотите быть уверены, что браузер выполняет только один запрос, вы также можете загрузить данные другим способом, функцией jQuery AJAX.например, а затем инициализировать DataTables массивом javascript :
$('#table1').dataTable( { "aaData": array1 } );
$('#table2').dataTable( { "aaData": array2 } );
$('#tableN').dataTable( { "aaData": arrayN } );
Надеюсь, это поможет:)