2016-12-24 88 views
2

我有一個自定義JavaScript客戶端,使用ajax與遠程API一起工作。jquery datatables自定義ajax客戶端

假設它被MyApiClient象下面這樣:

var MyApiClient = function() { 
    this.Invoke = function (config, callback) { 
    // ... 
    } 
} 

如何配置jQuery的數據表,這樣我可以使用MyApiClient而不是內置的Ajax的jQuery的數據表內提供?

也就是說,假設加載遠程數據,你需要打電話給你的客戶是這樣的:

var client = new MyApiClient(); 

client.Invoke({ url: '/api/app/v1/some-entity/all', function(result, err) { 
    // ... 
    } 
}); 

謝謝您已經

回答

3

使用ajax選項來定義一個函數,通過檢索數據的自己的Ajax調用。

作爲一個函數,讓Ajax調用留給自己,允許完全控制Ajax請求。事實上,如果需要,可以使用Ajax以外的方法來獲取所需的數據,例如Web存儲或Firebase數據庫。

當從數據源獲取數據時,應使用傳入的單個參數調用第二個參數(此處爲callback) - 用於繪製表格的數據。

例如:

$('#example').DataTable({ 
    "ajax": function (data, callback, settings) { 
    var client = new MyApiClient(); 
    client.Invoke({ url: '/api/app/v1/some-entity/all', function(result, err){ 

      // Pass the data to jQuery DataTables 
      callback(result); 

     } 
    }); 
    } 
}); 
+0

謝謝。 這不僅限於數據檢索。我們需要定製其他操作,例如**插入,刪除,更新**和**分頁**。 是否有可能在這些操作中以類似的方式使用MyApiClient來代替jQuery Datatables的內部工作? – FazelMan