【发布时间】:2014-03-20 14:41:15
【问题描述】:
我正在尝试通过AJAX 调用从数据库中删除一条记录,如下所示:
$.ajax({
type: 'POST',
url: '/api/Person/DeletePerson',
data: { personId: personId },
contentType: 'application/json',
success: function (data) {
if (data != null) {
}
},
error: function (err, data) {
alert("Error " + err.responseText);
}
});
这是它应该输入的方法:
public void DeletePerson(int personId)
{
var t = 0; // i'm breaking the debugger right here, never gets hit.
}
但是反而一直输入这个方法:
public HttpResponseMessage PostPerson(dynamic person)
{
HttpResponseMessage response;
if (User.Identity.GetUserId() == null)
{
response = Request.CreateResponse(HttpStatusCode.Forbidden, "Please log in.");
}
return response;
}
这两种方法都驻留在 WebApi Controller 中。
AJAX Type: delete 不受支持。如果我改用它,我会收到此消息:
The requested resource does not support http method 'delete'
我该如何完成这项工作?
编辑
public static void Register(HttpConfiguration config)
{
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
【问题讨论】:
标签: jquery ajax asp.net-web-api asp.net-mvc-5