【问题标题】:Enable CORS in wordpress api在 wordpress api 中启用 CORS
【发布时间】: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.

【问题讨论】:

    标签: php wordpress cors wordpress-rest-api


    【解决方案1】:

    您的客户端 JavaScript 正在尝试在请求上设置 Access-Control-Allow-Origin 标头。

    这是没有意义的,因为它是响应头,而不是请求头。

    这会触发 预检 请求,但您的服务器端代码仅设置为处理简单请求。

    修复客户端 JS。

    【讨论】:

    • 你说得对,我实际上有一些样板代码设置了这个标题......非常感谢。
    猜你喜欢
    • 2014-10-31
    • 2013-06-12
    • 1970-01-01
    • 2014-12-04
    • 2016-02-17
    • 2013-09-08
    • 2015-05-19
    • 2014-10-20
    • 2017-11-22
    相关资源
    最近更新 更多