【发布时间】:2017-07-16 18:04:13
【问题描述】:
我正在尝试对我的 rest api 端点进行 PUT 调用,并收到此错误:
Method PUT is not allowed by Access-Control-Allow-Methods in preflight response.
我使用此解决方案启用了CORS:enable-cors,它适用于POST。
我如何为PUT 实现相同的目标?
谢谢。
【问题讨论】:
-
您是否阅读了错误信息? developer.mozilla.org/en-US/docs/Web/HTTP/…
-
您需要将 PUT(可能还有 OPTIONS)添加到
Access-Control-Allow-Methods标头 -
感谢@SLaks 和Jaromanda,我在标题中添加了
PUT:res.header("Access-Control-Allow-Methods", "PUT");。它奏效了。 -
您还必须在服务器上支持 OPTIONS 方法,因为当客户端用户 PUT 时,浏览器将首先使用 OPTIONS 请求预先发送请求,并且只有在浏览器获得正确结果的情况下它会允许 PUT。
-
@jfriend00:不;
OPTIONS是协议的一部分,不需要在标头中单独输入。
标签: javascript node.js express cors