【发布时间】:2016-12-29 10:24:45
【问题描述】:
我已经坚持了几个小时没有运气,所以我想我会在这里问。
我有一个带有一堆端点的服务,其中大部分都接受GET 和POST http 方法。在这种情况下,我的服务只需在响应标头中将Access-Control-Allow-Origin 指定为*,以防我的某个应用位于不同的域/端口上并且想要使用该服务。
我有 一个 端点使用 DELETE http 方法,但我似乎无法让它工作。当我从客户端应用程序调用此端点时,我在控制台中收到此消息:
Response to preflight request doesn't pass access control check:
No 'Access-Control-Allow-Origin' header is present on the requested resource.
过去几个小时我一直在阅读 CORS,并尝试了一些不同的方法,但都没有奏效。我(想我)至少明白,当我使用GET 和POST 以外的http 方法时,浏览器会发送一个带有OPTIONS 作为http 方法的预发送请求。
处理此问题的最佳方法是什么?有没有办法禁用这个预先发送的请求?我在我的客户端应用程序中指定调用此端点的 http 方法是 DELETE。我是否应该在调用此端点的 AJAX 函数中指定标头(我使用的是直接 JavaScript)?
如果我无法解决这个问题,我将更改我的端点以使用 GET 或 POST 方法,但我想在我采取之前找到一种方法来处理这个问题简单的出路。
【问题讨论】:
-
你解决了吗?您是否按照答案中的说明在服务器端添加了标头?
标签: http methods cors http-delete