我正在尝试解决 Ajax 请求和 woocommerce API 的问题。实际上,当我请求 WC 时,缺少 CORS 标头。这是错误:
从源“ https://www.client.com ”访问“ https://mywebsite.com/woocommerce/?wc-api=software-api&request=check&email=email&license_key=license&product_id=product ”的 XMLHttpRequest已被 CORS 阻止策略:请求的资源上不存在“Access-Control-Allow-Origin”标头。
我已经将此代码添加到我的主题 functions.php 文件中:
function add_cors_http_header(){
header("Access-Control-Allow-Origin: *");
header('Access-Control-Allow-Methods: GET, POST, PATCH, PUT, DELETE, OPTIONS, READ');
header('Access-Control-Allow-Headers: Origin, Content-Type, X-Auth-Token,authorization,XMLHttpRequest, user-agent, accept, x-requested-with');
header("Access-Control-Allow-Credentials: true");
if ( 'OPTIONS' == $_SERVER['REQUEST_METHOD'] ) {
status_header(200);
exit();
}
}
add_action('init','add_cors_http_header');
错误仍然在这里。我不明白我应该将代码添加到我的响应中的 CORS 标头的位置。
编辑
这是失败的请求(来自 Chrome 开发工具):
编辑 2
也尝试添加Header set Access-Control-Allow-Origin "*"我的 .htaccess,但仍然无法正常工作。
编辑 3
我尝试直接从 plesk 面板添加 Header 指令。它似乎会影响错误(YAY !!!)。当我添加Access-Control-Allow-Origin: "*"错误现在是:

