在 wordpress 中启用 CORS api
Enable CORS in wordpress api
我想要一种干净的方式来为我的 wordpress 后端启用 CORS。许多帖子建议只将 header 添加到 api 的代码中,但编辑 wordpress 核心是 no-go 并且无论如何都不适用于我的设置,因为我正在使用 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.
您的 client-side JavaScript 正在尝试根据请求设置 Access-Control-Allow-Origin
header。
这没有意义,因为它是响应 header,而不是请求 header。
这会触发 preflighted 请求,但您的 server-side 代码仅设置为处理简单请求。
修复 client-side JS。
我想要一种干净的方式来为我的 wordpress 后端启用 CORS。许多帖子建议只将 header 添加到 api 的代码中,但编辑 wordpress 核心是 no-go 并且无论如何都不适用于我的设置,因为我正在使用 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.
您的 client-side JavaScript 正在尝试根据请求设置 Access-Control-Allow-Origin
header。
这没有意义,因为它是响应 header,而不是请求 header。
这会触发 preflighted 请求,但您的 server-side 代码仅设置为处理简单请求。
修复 client-side JS。