gpt4 book ai didi

javascript - asp.net web api 405方法不允许,发布,自定义操作

转载 作者:行者123 更新时间:2023-12-02 16:36:03 25 4
gpt4 key购买 nike

我见过很多关于同一问题的问题,但我真的不知道我做错了什么。当我向 InscricaoSecretaria/Salvar 方法发送请求时收到 405 错误。

这是我的配置文件:

public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.MessageHandlers.Add(new AuthorizationHandler());

// Default Route Configuration

config.Routes.MapHttpRoute(
name: "DefaultApi2",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);

config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);

// Unity Container Configuration

IUnityContainer container = new UnityContainer();
container.RegisterType<BusinessContext>(new InjectionConstructor(ConfigurationManager.ConnectionStrings["HabileConnection"].ConnectionString));
config.DependencyResolver = new UnityResolver(container);
}
}

这是我的 Controller

public class InscricaoSecretariaController : ApiController
{
[HttpPost]
public HttpResponseMessage Salvar(InscricaoSecretaria inscricao)
{
return null;
}
}

和 ajax 调用 (angularjs)。我正在使用 Angular 模块的名为“salvar”的方法,该方法通过单击按钮来触发。

"use strict";

(function(){
var restClient = angular.module("restClient", ["ngResource"]);
var serviceURL = "/habileapp/api/";

restClient.factory("InscricaoResource", ["$resource", function ($resource) {
return $resource(serviceURL + "InscricaoSecretaria", null, {
"recuperar": {
"method": "get"
},
"salvar": {
"method": "post",
"url": serviceURL + "inscricaoSecretaria/Salvar"
},
"finalizar": {
"method": "post",
"url": serviceURL + "inscricaoSecretaria/Finalizar"
}
});
}]);
})();

服务器响应此错误消息:

The requested resource does not support http method 'POST'.

编辑:以下是一些请求 header :

Request URL:http://localhost/habileapp/api/inscricaoSecretaria/Salvar
Request Method:POST
Status Code:405 Method Not Allowed

最佳答案

您确定您的网络服务器设置已配置为处理 POST 动词吗?默认情况下,它应该针对 GET 和 POST 请求进行设置,但它可能在某些时候已更改。以下是一些检查步骤:

IIS: http://www.asp.net/web-api/overview/testing-and-debugging/troubleshooting-http-405-errors-after-publishing-web-api-applications

IIS Express:查看 %userprofile%\documents\IISExpress\config 文件夹中的 applicationHost.config 文件。检查 ExtensionlessUrl-Integrated-4.0 处理程序的配置是否类似于 verb="GET,HEAD,POST,DEBUG,PUT,DELETE

关于javascript - asp.net web api 405方法不允许,发布,自定义操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27922692/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com