Kendo 网格配置为使用 HttpPost,但向控制器发送 HttpGet 请求
Kendo Grid configured to use HttpPost, but sends a HttpGet request to controller
我有一个 Kendo MVC 网格配置为执行 Post,但是,该请求没有达到我的操作,在探查器中我可以看到它执行了一个 Get 请求。
我是不是哪里弄错了?
查看
<script>
function additionalData() {
return { code: '@Session.GetCode()' }
}
</script>
@(Html.Kendo().Grid<MyModel>()
.Name("Grid")
.Columns(columns =>
{
columns.Bound(c => c.Type);
columns.Bound(c => c.Count);
columns.Bound(c => c.Date);
})
.Filterable()
.Pageable(pageable => pageable
.PageSizes(true)
.ButtonCount(10))
.DataSource(ds => ds
.Ajax()
.Read(r => r.Action("GetGridData", "Home").Type(HttpVerbs.Post).Data("additionalData"))
.PageSize(25)
)
)
控制器
[HttpPost]
public ActionResult GetGridData([DataSourceRequest]DataSourceRequest request, string code = "")
{
var result = MyService.GetGridData(regionCode);
return Json(result.ToDataSourceResult(request));
}
这是在 Internet Explorer 11 调试器中看到的请求,导致 404 错误:
好吧,我设法解决了我的问题,这很愚蠢...
解决方案中的一个 JavaScript 文件包含以下代码:
$(document).on({
ajaxSend: function(event, jqxhr, settings) {
if ((settings.type = 'GET')) {
}
}
});
只是一个空 ajaxSend
捕获我所有的 AJAX 请求并将它们更改为 GET。有人正在处理这个,忘记删除这个位并签入了。
我有一个 Kendo MVC 网格配置为执行 Post,但是,该请求没有达到我的操作,在探查器中我可以看到它执行了一个 Get 请求。
我是不是哪里弄错了?
查看
<script>
function additionalData() {
return { code: '@Session.GetCode()' }
}
</script>
@(Html.Kendo().Grid<MyModel>()
.Name("Grid")
.Columns(columns =>
{
columns.Bound(c => c.Type);
columns.Bound(c => c.Count);
columns.Bound(c => c.Date);
})
.Filterable()
.Pageable(pageable => pageable
.PageSizes(true)
.ButtonCount(10))
.DataSource(ds => ds
.Ajax()
.Read(r => r.Action("GetGridData", "Home").Type(HttpVerbs.Post).Data("additionalData"))
.PageSize(25)
)
)
控制器
[HttpPost]
public ActionResult GetGridData([DataSourceRequest]DataSourceRequest request, string code = "")
{
var result = MyService.GetGridData(regionCode);
return Json(result.ToDataSourceResult(request));
}
这是在 Internet Explorer 11 调试器中看到的请求,导致 404 错误:
好吧,我设法解决了我的问题,这很愚蠢...
解决方案中的一个 JavaScript 文件包含以下代码:
$(document).on({
ajaxSend: function(event, jqxhr, settings) {
if ((settings.type = 'GET')) {
}
}
});
只是一个空 ajaxSend
捕获我所有的 AJAX 请求并将它们更改为 GET。有人正在处理这个,忘记删除这个位并签入了。