当另一个 HTML 页面向其发布表单时,HTML 页面会引发 405 错误
Posted
技术标签:
【中文标题】当另一个 HTML 页面向其发布表单时,HTML 页面会引发 405 错误【英文标题】:HTML page throws a 405 error when another HTML page posts a form to it 【发布时间】:2011-11-03 00:48:42 【问题描述】:我有一个发布到另一个 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 处理程序:静态文件 错误代码:0x80070001StaticFile Handler 已经设置为能够处理所有动词,但它仍然不起作用。
【问题讨论】:
这个较旧的答案可能会帮助您解决问题:***.com/questions/4287330/… 【参考方案1】:这是一个服务器配置问题。文档中的任何内容都不会影响响应的 HTTP 状态代码。
服务器已设置为拒绝对该 URI 的 POST 请求。
【讨论】:
在 IIS 中?不知道,试试手册?我希望这是一个默认值,因为纯 HTML 文档无法处理 POST 数据,这使得向一个 POST 请求发出一个非常没有意义的。用程序(可能是 ASP.NET 页面)替换 HTML 文档似乎更有意义。【参考方案2】:仅仅因为你不按动词过滤并不意味着处理程序可以处理动词。你如何发布到静态文件?我敢打赌,该错误来自处理程序本身。
请尝试将该帖子发送到 CGI / ISAPI / MVC / WEBAPI / ASP / ASP.NET / php 页面。
【讨论】:
以上是关于当另一个 HTML 页面向其发布表单时,HTML 页面会引发 405 错误的主要内容,如果未能解决你的问题,请参考以下文章