代码之家  ›  专栏  ›  技术社区  ›  Philip Feldmann

在wordpress api中启用CORS

  •  0
  • Philip Feldmann  · 技术社区  · 7 年前

    我想要一个干净的方式来为我的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 回复  |  直到 7 年前
        1
  •  1
  •   Quentin    7 年前

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

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

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

    修复客户端JS。