当另一个HTML页面向其发布表单时,HTML页面会引发405错误

时间:2011-08-24 17:34:10

标签: html forms iis post http-status-code-405

我有一个html页面发布到另一个html页面。这两个页面加载正常,但是当我将第一页上的表单发布到第二页时,我得到405 - Method Not Allowed错误。我使用IIS 7在Windows机器上运行该站点。

这是发布到第二页的页面

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Form Post</title>
</head>

<body>
<form method="post" action="/test/form_fetch.html">
    <input type="hidden" name="hidtest" value="works"/>
    <input type="submit" value="submit" />
</form>
</body>
</html>

这是第二页

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Form Fetch</title>
</head>

<body>
</body>
</html>

错误详情:

HTTP错误405.0 - 不允许的方法
由于使用了无效的方法(HTTP动词),因此无法显示您要查找的页面。

  • 模块:StaticFileModule
  • 通知:ExecuteRequestHandler
  • 处理程序:StaticFile
  • 错误代码:0x80070001

StaticFile Handler已经设置为能够处理所有动词,但它仍然不起作用。

2 个答案:

答案 0 :(得分:1)

这是服务器配置问题。文档中的任何内容都不会影响响应的HTTP状态代码。

服务器已设置为拒绝对该URI的POST请求。

答案 1 :(得分:0)

仅仅因为你没有用动词过滤并不意味着处理程序可以处理动词。你如何发布到静态文件?我敢打赌,这个错误来自处理程序本身。

相反,请尝试将该帖子发送到CGI / ISAPI / MVC / WEBAPI / ASP / ASP.NET / PHP页面。