同様の問題に関連する既存の SO の質問を多数検索しましたが、私の問題に関連するものは見つかりませんでした。
次のjQueryコードがあります:
$.ajax({
url: "Index.aspx/DeclineRequest"
, type: 'POST'
, contentType: 'application/json; charset=utf-8'
, dataType: 'json'
, data: JSON.stringify({ RequestId: requestId })
});
別の ASP.NET Web アプリケーションで POST データに非常によく似た手法を使用していますが、これは正常に機能します。ただし、このアプリケーションは次のエラーを返しています。
「NetworkError: 405 メソッドは許可されていません - http://localhost:57255/ .....」
これら 2 つのアプリケーションに違いは見当たらないので、なぜこれが機能しないのか混乱しています。
私が考えることができるこれら 2 つのアプリケーションの唯一の違いは、動作しているのは .NET 2.0 であり、動作していないのは .NET 3.5 であるということです。
に以下を追加しようとしましたweb.config
が、それでも同じ 405 エラーが発生します。
<webServices>
<protocols>
<add name="HttpPost"/>
<add name="HttpPostLocalhost"/>
</protocols>
</webServices>
この問題を解決するにはどうすればよいですか?
更新 (16:40):このアプリケーションを IIS に移動したところ、405 エラーは返されなくなりました。ただし、開発環境はローカルホストのみです。これがローカルホストでのみエラーになるのはなぜですか?