带有单个参数的POST返回404错误

本文关键字:返回 错误 POST 单个 参数 | 更新日期: 2023-09-27 18:26:04

我需要将一个参数传递给Web API POST方法。

以下是我的AJAX调用:

$http({ method: 'POST', url: "customers/ProcessCustomer/" + customerId })
    .success(function (data) {
    });

其中CCD_ 1是CCD_。

我的控制器:

[HttpPost]
[Route("customers/ProcessCustomer")]
public void ProcessCustomer(Guid id)
{
    //do some stuff
}

但当我这样做时,我只得到一个404未找到的错误。我做错了什么?

带有单个参数的POST返回404错误

您正在使用属性路由,但尚未在路由中指定id参数。使用这个替代:

[Route("customers/ProcessCustomer/{id}")]

有关更多示例,请参见Web API 2中的属性路由。

当您POST到一个操作方法时,数据不会嵌入到URL中。相反,在ajax调用中使用设置对象的data字段:

// I didn't recognize what library you're using for the AJAX call, so this is jQuery
$.ajax('customer/ProcessCustomer', {
    data: { id: customerId },
    success: function() { /* woohoo! */ }
});