找不到Asp.Net web api ajax调用404方法
我正在使用Asp.net mvc4 web api 我得到一个错误404方法未找到,我正在使用jQueryAjax调用DelteMenu方法。我正在使用jqueryajax的数据进行论证。如果我传递模型参数,它工作正常,但对于其他参数,如Guid、字符串抛出异常:404方法nod found。如果您知道它抛出404错误的原因,请告诉我找不到Asp.Net web api ajax调用404方法,asp.net,jquery,asp.net-mvc-4,asp.net-web-api,http-status-code-404,Asp.net,Jquery,Asp.net Mvc 4,Asp.net Web Api,Http Status Code 404,我正在使用Asp.net mvc4 web api 我得到一个错误404方法未找到,我正在使用jQueryAjax调用DelteMenu方法。我正在使用jqueryajax的数据进行论证。如果我传递模型参数,它工作正常,但对于其他参数,如Guid、字符串抛出异常:404方法nod found。如果您知道它抛出404错误的原因,请告诉我 //api method public HttpResponseMessage DeleteMenu(Guid MenuId) {
//api method
public HttpResponseMessage DeleteMenu(Guid MenuId)
{
try
{
MenuDA.DeleteMenu(objMenuModel.MenuId);
return this.Request.CreateResponse(
HttpStatusCode.OK,
new
{
Success = true
});
}
catch (Exception ex)
{
ErrorLogDA.LogException(ex);
throw ex;
}
}
//Jquery ajax function
function performdeletemenu(MenuId)
{
if (confirm('Are you sure you want to delete this menu?'))
{
$.ajax({
type: 'DELETE',
url: '/api/MenuWebApi/DeleteMenu/',
data: "MenuId=" + MenuId,
success: function (data)
{
if (data.Success == true)
{
GetMenuList();
}
},
error: function (xhr, textStatus, errorThrown)
{
//window.location = JsErrorAction;
},
dataType: "json",
headers:
{
'RequestVerificationToken': JsTokenHeaderValue
}
});
}
return false;
}
当通过jQuery的ajax函数发送
HTTP DELETE
时,数据设置不起作用。您必须在url本身中传递Guid:url:'/api/MenuWebApi/DeleteMenu?MenuId='+MenuId
我确实觉得奇怪的是,返回的是404,而不是400错误请求。在RouteConfig.cs中添加这一行,如下所示
routes.IgnoreRoute("{*x}", new { x = @".*\.asmx(/.*)?" });
我从
如果找不到404错误方法,它肯定会工作。您好,但之前的错误是404不是400错误请求。谢谢,伙计……:)很高兴它起作用了。为了正确反映问题,我在您的问题中添加了jQuery标记(因为这是一个jQuery标记,而不是Web API标记)。您好,现在又有两个参数出现404错误,您能告诉我是否可以使用Http delete传递多个参数吗?-----给定显示404错误的url,可以将两个参数传递给httpdelete
方法。因此,还有其他问题。