小编Dem*_*tor的帖子

在 IIS7 中启用对 html 文件的 POST 请求

问题
关于此问题还有很多其他问题(特别是 405 Method Not Allowed 错误),但我还没有找到似乎有效的解决方案。

我只有一个 html 和 javascript 的 web 应用程序(没有后端),javascript 在表单中使用 POST。我知道 IIS 将 html 文件视为静态文件,并且只允许它们使用 GET 和 HEAD 动词,因此在发布表单时,我收到“405 Method Not Allowed...无法显示,因为无效方法(HTTP 动词)是正在使用”。

配置
我在 Win 7 机器上默认安装了 IIS 7。默认情况下,ISAPI/CGI/ASP 等和 WebDav 都被禁用/未安装。我更改的唯一设置是为功能委派下的某些功能添加了读/写。

在默认站点上的处理程序映射下,我有 OPTIONSVerbHandler、TRACEVerbHandler 和 StaticFile。仅当请求映射到文件或文件夹时,StaticFile 请求限制才会显示所有启用的动词、访问读取、调用处理程序。

System.Web.DefaultHttpHandler 属性显示动词 GET、HEAD 和 POST。

到目前为止尝试过
如果我设置另一个处理程序映射,复制 OPTIONS 但将动词设置为 POST,405 错误消失了,但我得到一个空白页。

正如这个问题底部附近所建议的那样,我尝试将其添加到我的 web.config 中,但它似乎没有任何效果:

<add name="HttpPost"/>
Run Code Online (Sandbox Code Playgroud)

(我也对配置 GUI 做了同样的事情,并且还添加了 HttpPostLocalhost。)

我试过在 html 中将 post 更改为 POST (以防万一),但这没有效果。

我还尝试过明确允许请求过滤下的动词,但这也无济于事。


有没有人有其他想法?我认为如果我安装 asp 并更改所有文件扩展名,它会起作用,但这似乎没有必要。

iis iis-7

6
推荐指数
1
解决办法
5万
查看次数

标签 统计

iis ×1

iis-7 ×1