我使用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"
},
...
答案 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)