我在我的 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">
Controller 是:
[HttpPost]
public ActionResult DetailsLeads(LeadDetailsViewModel model)
最佳答案
尝试在 links.click(function(){}
block 内添加 e.preventDefault()
。如果没有此操作,浏览器仍会尝试执行该操作您指示它执行的操作(对单击的链接发出 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();
});
关于jquery - 使用 Jquery 提交表单,提交 Get 而不是 Post,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13628482/