具有多个身体参数的MVC post方法,为什么我得到404?

时间:2016-08-25 19:06:05

标签: jquery ajax asp.net-mvc-routing

我有一个定义如下的MVC控制器方法:

[HttpPost]
public ActionResult EndBatchForConditions(string a, int b)
{
    ...
}

用jquery调用,如:

$.ajax({
    type: "POST",
    url: url,
    data: {
        a: $form.find('#aCtl').val(),
        b: $form.find('#bCtl').val()
    },
    success: function (data, textStatus, jqXHR) {
        ...
    },
    error: showError
});

这适用于我的本地人,并且已经在我们的测试和生产机器上工作了大约6个月。

我们正在将其从自己的网站迁移到另一个网站下的应用程序,并已在测试服务器上移动。这个方法给了我一个404,其他一切正常。另一种方法在具有相似参数的同一控制器上以相同的方式调用,并且它工作正常。我使用Fiddler来验证网址,并且两种方法的请求都是正确的,并且完全相同。

我知道使用[FromBody]属性不允许多个POST正文参数。这是打电话的不正确方法吗?如果没有,我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

这不是路由问题。该方法引发了异常,并且global.asax.cs被重定向到丢失的错误页面,抛出了404.