JQuery DataTable在客户端模式下阻止服务器调用

JQuery DataTable在客户端模式下阻止服务器调用,jquery,datatables,Jquery,Datatables,我正在尝试在客户端模式下使用DataTable。我的意思是,我想让所有的数据加载、行添加和删除过程在客户端(web浏览器)中完成 我使用以下代码初始化DataTable,它从复杂的类对象(PriceItems)中正确地加载表行。但在初始化过程中,它向服务器发出http post请求。 为什么? 我怎样才能防止这种情况 var pricesTable = $('#pricesTable').DataTable({ data: viewModel.product.PriceItems,

我正在尝试在客户端模式下使用DataTable。我的意思是,我想让所有的数据加载、行添加和删除过程在客户端(web浏览器)中完成

我使用以下代码初始化DataTable,它从复杂的类对象(PriceItems)中正确地加载表行。但在初始化过程中,它向服务器发出http post请求。 为什么? 我怎样才能防止这种情况

var pricesTable = $('#pricesTable').DataTable({
     data: viewModel.product.PriceItems,
     columns: [{
         data: 'Id',
         visible: false
     }, {
         data: 'Name'
     }, {
         data: 'Value'
     }, {
         data: 'CurrencySymbol'
     }, {
         data: 'UnitName'
     }],

     sort: false,
     processing: false,
     serverSide: false,
     deferLoading: 0,
     info: false,
     filter: false,
     lengthChange: false,

     fnInitComplete: function (oSettings, json) {
         $('#pricesTable tbody tr:eq(0)').click();
     }

 });
编辑-1:如果我使用(服务器端:true),DataTable将停止调用mvc控制器
编辑-2:在服务器端用以下代码填充数据模型

var viewModel = new ProductFormViewModel(@Html.Raw(Json.Encode(Model)));

从datatable的初始化中删除了data属性,因为它向该url发送请求,请尝试以下代码

var pricesTable = $('#pricesTable').DataTable({
     columns: [{
         data: 'Id',
         visible: false
     }, {
         data: 'Name'
     }, {
         data: 'Value'
     }, {
         data: 'CurrencySymbol'
     }, {
         data: 'UnitName'
     }],

     sort: false,
     processing: false,
     serverSide: false,
     deferLoading: 0,
     info: false,
     filter: false,
     lengthChange: false,

     fnInitComplete: function (oSettings, json) {
         $('#pricesTable tbody tr:eq(0)').click();
     }

 });

从datatable的初始化中删除了data属性,因为它向该url发送请求,请尝试以下代码

var pricesTable = $('#pricesTable').DataTable({
     columns: [{
         data: 'Id',
         visible: false
     }, {
         data: 'Name'
     }, {
         data: 'Value'
     }, {
         data: 'CurrencySymbol'
     }, {
         data: 'UnitName'
     }],

     sort: false,
     processing: false,
     serverSide: false,
     deferLoading: 0,
     info: false,
     filter: false,
     lengthChange: false,

     fnInitComplete: function (oSettings, json) {
         $('#pricesTable tbody tr:eq(0)').click();
     }

 });

viewModel.product.PriceItems
获取数据…请查看编辑2将“Model”传递到视图时是否实际填充了它?只是想知道您的查询是否使用延迟执行,并试图在数据表初始化时枚举结果集。在控制器的edit([HttpGet])操作中填充模型,控制器将其传递给视图。视图的一部分是$(document).ready(函数(){var viewModel=newproductformviewmodel(@Html.Raw(Json.Encode(Model));}
viewModel.product.PriceItems
获取数据…请查看编辑2当您将“Model”传递到视图时,是否实际填充了它?只是想知道您的查询是否使用了延迟执行,并试图在数据表初始化时枚举结果集。在编辑中填充了模型([HttpGet])控制器的操作并将其传递给视图。视图的一部分是$(document).ready(函数(){var viewModel=new ProductFormViewModel(@Html.Raw(Json.Encode(Model));}如何填充datatable?我已尝试从初始化代码中删除数据属性,但未发生任何更改。它会持续调用controller get action。然后请再次检查从何处启动的控制器请求?如果我将serverSide属性设置为true(在我的情况下,它应为false)datatable按预期工作,从不调用任何http post操作方法。但这次它在客户端添加行时调用控制器:)真的很有趣…不幸的是,我没有解决方案yetHow将填充datatable?我已尝试从初始化代码中删除data属性,但没有任何更改。它会持续调用controller get action。然后请再次检查控制器请求从何处启动?如果我将serverSide属性设置为true(在我的例子中应该是false)datatable按预期工作,从不调用任何http post操作方法。但这次它在客户端添加行时调用控制器:)真的很有趣…不幸的是,我还没有解决方案