【发布时间】:2016-06-03 14:36:39
【问题描述】:
当我向某个端点发送删除请求时,例如来自终端的httpie,例如
http delete http://localhost:8181/admin/applications/uspecs
我得到了一个有效的行为,如 { success: true } 作为响应正文。
但是当我这样做时
fetch (
'http://localhost:8181/admin/applications/uspecs',
{ method: 'DELETE' }
)
.then(res => doSomethingWithResponse())
.catch(err => console.error(err))
在javascript代码中,然后我得到一个
Fetch API cannot load http://localhost:8181/admin/applications/uspecs.
Method DELETE is not allowed by Access-Control-Allow-Methods in preflight response.
控制台出错。我错过了什么?我在选项请求中获得了一个有效的方法列表。
【问题讨论】:
-
了解跨域资源共享 (CORS) - stackoverflow.com/questions/25845203/understanding-cors。
-
在 OPTIONS 响应中,我收到了
allow: DELETE, HEAD, GET, OPTIONS, POST列表。应该这样做,不是吗? @OndrejSvejdar -
您能否使用 fiddler composer 向端点发送 OPTIONS 请求并发布您得到的响应。该帖子也令人困惑-确保将 OPTIONS 和 DELETE 请求发送到同一端点(在您的帖子中它们是不同的)。
-
已更新。 @OndrejSvejdar
-
我在您的帖子中没有看到任何 OPTIONS 回复。请将该请求的完整响应标头发布。
标签: javascript fetch-api