问题
关于此问题还有很多其他问题(特别是405方法不允许错误),但我还没有找到似乎有效的解决方案.
我有一个html和javascript的web应用程序(没有后端),javascript在表单中使用POST.我知道IIS看到html文件是静态的,只允许它们使用GET和HEAD动词,所以当一个表单发布时我得到“405 Method Not Allowed …”因为无效的方法(HTTP动词)而无法显示正在使用”.
组态
我在Win 7计算机上安装了IIS 7.默认情况下ISAPI / CGI / ASP等,WebDav都被禁用/未安装.我改变的唯一设置是为特征委派下的一些功能添加了读/写.
在默认站点上的Handler Mappings下,我有OPTIONSVerbHandler,TRACEVerbHandler和StaticFile. StaticFile请求限制仅在请求映射到文件或文件夹时显示所有启用的动词,访问读取,调用处理程序.
System.Web.DefaultHttpHandler属性显示动词GET,HEAD和POST.
到目前为止尝试过
如果我设置另一个处理程序映射,复制OPTIONS但将动词设置为POST,则405错误消失,但我得到一个空白页面.
正如在this问题的底部附近所建议的那样,我尝试将其添加到我的web.config中,但它似乎没有任何影响:
(我也对配置GUI做了同样的事情,并且还添加了HttpPostLocalhost.)
我已经尝试在html(just in case)中将帖子更改为POST,但这没有任何效果.
我也尝试在请求过滤下明确允许动词,但这也没有帮助.
有没有人有任何其他想法?我认为如果我安装asp并更改我的所有文件扩展名,它将起作用,但这似乎是不必要的.