【发布时间】:2012-04-30 22:28:28
【问题描述】:
我已经搜索了大量与类似问题相关的现有 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 应用程序上发布数据,并且效果很好。但是,此应用程序返回以下错误:
“NetworkError: 405 Method Not Allowed - http://localhost:57255/.....”
我找不到这两个应用程序有什么不同,所以我很困惑为什么这不起作用。
我能想到的这两个应用程序之间的唯一区别是,可以运行的是 .NET 2.0,而不能运行的是 .NET 3.5。
我已尝试将以下内容添加到我的 web.config,但仍然收到相同的 405 错误:
<webServices>
<protocols>
<add name="HttpPost"/>
<add name="HttpPostLocalhost"/>
</protocols>
</webServices>
我该如何解决这个问题?
更新 (16:40): 我已将此应用程序移至 IIS,并且不再返回 405 错误。然而,我们的开发环境只是 localhost。为什么这只会在 localhost 上出错?
【问题讨论】:
-
你能告诉我们你的
DeclineRequest方法吗? -
@ŁukaszW.pl
DeclineRequest方法目前只是调用return "Hello World"。我认为这不是问题,因为键入任何方法名称都会返回相同的错误。我故意在一些测试中拼错了这个方法来检查这个。
标签: asp.net jquery post http-status-code-405