数据表POST

时间:2019-01-06 15:50:07

标签: asp.net-mvc datatables

我使用DataTables,但是当我想使用Ajax POST类型发送数据时,出现错误消息:

  

无效的JSON原语:绘制。

但是当我使用GET时,会出现一些错误:

  

请求过滤模块配置为拒绝请求,其中   查询字符串太长。

请问如何通过POST发送数据?

$(document).ready(function () {
            var table = $('#table').dataTable({
                proccessing: true,
                pagingType: "full_numbers",
                cache: false,
                serverSide: true, 
                stateSave: true,
                ajax: { 
                    "url": '@Url.Action("PageData", "Home")',
                    "contentType": "application/json; charset=utf-8",
                    "type": "POST",
                    "dataType": "json"
                },
                ...

1 个答案:

答案 0 :(得分:0)

request filtering module配置为拒绝查询字符串太长的请求,这意味着您需要 增加maxQueryString文件中web.config的值。

<system.web>
   <httpRuntime maxUrlLength="10999" maxQueryStringLength="2097151" />
</system.web>
<system.webServer>
    <security>
    <requestFiltering>
      <requestLimits maxUrl="10999" maxQueryString="2097151" />
    </requestFiltering>
  </security>
</system.webServer>

您可以根据需要设置长度,还可以设置一件事 检查您的json是否有效

 var yourData=  {'foo':'foovalue', 'bar':'barvalue'}

,您可以发送

之类的数据
data: JSON.stringify(yourData)