Kendo Grid配置为使用HttpPost,但向控制器发送HttpGet请求

时间:2015-03-27 01:30:13

标签: c# asp.net-mvc kendo-ui kendo-grid kendo-asp.net-mvc

我已经配置了一个配置为发布帖子的Kendo MVC网格,但是,请求没有达到我的操作,在分析器中我可以看到它执行了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错误:

Request

1 个答案:

答案 0 :(得分:0)

好吧,我设法解决了我的问题,而且非常愚蠢......

解决方案中的一个JavaScript文件包含以下代码:

$(document).on({
    ajaxSend: function(event, jqxhr, settings) {
        if ((settings.type = 'GET')) {

        }
    }
});

只是空ajaxSend捕获我的所有AJAX请求并将其更改为GET。有人正在研究这个问题,忘记删除这个位并检查它。