在 wordpress api 中启用 CORS
Posted
技术标签:
【中文标题】在 wordpress api 中启用 CORS【英文标题】:Enable CORS in wordpress api 【发布时间】:2018-05-07 14:27:33 【问题描述】:我想要一种干净的方式来为我的 wordpress 后端启用 CORS。许多帖子建议只将标头添加到 api 的代码中,但编辑 wordpress 核心是不行的,因为我正在使用 docker,所以无论如何都不适用于我的设置。
我试过这样写一个插件:
add_filter( 'wp_headers', array( 'send_cors_headers' ), 11, 1 );
function send_cors_headers( $headers )
$headers['Access-Control-Allow-Origin'] = '*';
return $headers;
但它似乎什么也没做,因为我仍然收到以下错误:
Failed to load http://localhost/wp-json/wp/v2/posts: Request header field Access-Control-Allow-Origin is not allowed by Access-Control-Allow-Headers in preflight response.
【问题讨论】:
【参考方案1】:您的客户端 javascript 正在尝试在请求上设置 Access-Control-Allow-Origin
标头。
这是没有意义的,因为它是响应头,而不是请求头。
这会触发 预检 请求,但您的服务器端代码仅设置为处理简单请求。
修复客户端 JS。
【讨论】:
你说得对,我实际上有一些样板代码设置了这个标题......非常感谢。以上是关于在 wordpress api 中启用 CORS的主要内容,如果未能解决你的问题,请参考以下文章