使用Jquery提交表单提交Get而不是Post

时间:2012-11-29 14:56:42

标签: jquery asp.net-mvc asp.net-mvc-3 webgrid

我在My MVC应用程序中使用WebGrid,用于分页我正在使用此代码

  var links = $('a[href*=page], a[href*=sort]');
        form = $('form')[0];
        links.click(function () {
            debugger;
            form.attr("action", this.href);
            $(this).attr("href", "javascript:");
            form.submit();
        });

@using (Html.BeginForm(Model.PostToAction, "Leads", FormMethod.Post))

当执行form.submit()时,它被执行为GET而不是POST,

我做错了什么?

更新:

我的表格是:

<form action="/Leads/DetailsLeads" method="post">

控制器是:

 [HttpPost]
        public ActionResult DetailsLeads(LeadDetailsViewModel model)

1 个答案:

答案 0 :(得分:6)

尝试在e.preventDefault()块内添加links.click(function(){}。如果没有这个,浏览器仍会尝试执行您指示它执行的操作(在单击的链接上发出GET请求)。

var links = $('a[href*=page], a[href*=sort]');
        form = $('form')[0];
        links.click(function (e) {
            e.preventDefault();
            debugger;
            form.attr("action", this.href);
            $(this).attr("href", "javascript:");
            form.submit();
        });