【发布时间】:2019-11-12 05:47:17
【问题描述】:
我正在尝试在我的项目中使用 PUT、PATCH、UPDATE 等方法来了解 REST 的工作原理。
我使用 JS fetch API 发送请求,但出现“405 Method Not Allowed”错误。我搜索了它,然后将我的 .htaccess 更改为:
Header add Access-Control-Allow-Origin "*"
Header add Access-Control-Allow-Headers "*"
Header add Access-Control-Allow-Methods "GET, PUT, POST, UPDATE, DELETE, OPTIONS"
我使用该网站检查所有标题是否正确:
https://www.webconfs.com/http-header-check.php
结果是:
HTTP/1.1 200 OK =>
Date => Mon, 01 Jul 2019 14:36:58 GMT
Server => Apache/2
X-Powered-By => PHP/5.6.40
Cache-Control => max-age=2592000
Expires => Wed, 31 Jul 2019 14:36:58 GMT
Vary => Accept-Encoding,User-Agent
Access-Control-Allow-Origin => *
Access-Control-Allow-Headers => *
Access-Control-Allow-Methods => GET, PUT, POST, UPDATE, DELETE, OPTIONS
Connection => close
Content-Type => text/html; charset=UTF-8
结果包含
Access-Control-Allow-Methods => GET, PUT, POST, UPDATE, DELETE, OPTIONS
而 JS XHR 仍然给出 405 错误。
有什么问题?谢谢你的回答。
【问题讨论】:
-
不允许的方法意味着您没有为您请求的对(动词,url)实现端点
-
PATCH 是您正在使用的方法,但不在允许列表中。
-
@Ji asH 在我的 JS 中我使用 fetch api 并且有一个 URL 和方法(放置、更新等)
-
你说得对,但问题不仅仅是补丁。放置、更新等也会返回错误。
标签: javascript .htaccess xmlhttprequest http-headers fetch