asp.net-web-api – Ajax Post:405方法不允许
发布时间:2020-05-23 23:56:45 所属栏目:asp.Net 来源:互联网
导读:在我的API控制器中称为付款,我有以下方法: [HttpPost]public HttpResponseMessage Charge(Payment payment){ var processedPayment = _paymentProcessor.Charge(payment); var response = Request.CreateResponse(processed
|
在我的API控制器中称为付款,我有以下方法: [HttpPost]
public HttpResponseMessage Charge(Payment payment)
{
var processedPayment = _paymentProcessor.Charge(payment);
var response = Request.CreateResponse(processedPayment.Status != "PAID" ? HttpStatusCode.ExpectationFailed : HttpStatusCode.OK,processedPayment);
return response;
}
在我的HTML页面中,我有: $.ajax({
type: "POST",contentType: "application/json; charset=utf-8",url: "http://localhost:65396/api/payment/charge",data: $('#addPayment').serialize(),dataType: "json",success: function (data) {
alert(data);
}
});
每当我开火POST,我得到 "NetworkError: 405 Method Not Allowed - http://localhost:65396/api/payment/charge" 我失踪了什么 谢谢. UPDATE 以下是路由信息(默认) routes.MapHttpRoute(
name: "DefaultApi",routeTemplate: "api/{controller}/{id}",defaults: new { id = RouteParameter.Optional }
);
routes.MapRoute(
name: "Default",url: "{controller}/{action}/{id}",defaults: new { controller = "Home",action = "Index",id = UrlParameter.Optional }
);
解决方法很可能您的路由未配置为要调用的操作.因此,请求无处不在,ASP.NET Web API发送一个空白消息“不允许的方法”.你可以用你的路由更新问题吗? UPDATE 和我想的一样!当您需要发送到http:// localhost:65396 / api / payment – 您的控制器称为PaymentController时,您将发送到http:// localhost:65396 / api / payment / charge. 请注意,路由没有动作. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ASP.NET MVC 1是否与ASP.NET MVC 2兼容?
- asp.net-mvc-3 – Editor用于收集我的模型中的项目
- Asp.net核心IIS Express.如何查看日志消息?
- 如何在ASP.NET Web应用程序中打开一个SectionGroup?
- asp.net-mvc-3 – MVC 3(Razor) – 使用Button事件调用Cont
- asp.net-mvc – ASP.NET MVC:添加将DisplayName合并到自定
- asp.net-mvc – 将asp.net服务器参数传递给Angular 2 app
- asp.net-mvc – Web API – 默认呈现Razor视图?
- asp.net-core-mvc – Html.AntiForgeryToken()仍然需要?
- asp.net-mvc-3 – 如何在ASP.NET MVC 3中更新EF 4实体?
