我有一个定义如下的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正文参数。这是打电话的不正确方法吗?如果没有,我该如何解决这个问题?
答案 0 :(得分:0)
这不是路由问题。该方法引发了异常,并且global.asax.cs被重定向到丢失的错误页面,抛出了404.