PHP:对预检请求的响应未通过访问控制检查:它没有HTTP正常状态

时间:2019-06-26 08:25:11

标签: php .htaccess cors

我已经做了很多尝试,但是由于某些原因,OPTIONS请求似乎一直失败。

我在下面的代码/配置中遇到的错误是:

  

对预检请求的响应未通过访问控制检查:它没有HTTP正常状态。

客户:Angular 6

服务器:PHP共享主机服务器

使用CloudFlare

.htaccess文件:

# Force to request 200 for options
RewriteEngine On
RewriteCond %{REQUEST_METHOD} OPTIONS
RewriteRule .* / [R=200,L]

# Enable cross domain access control
Header always set Access-Control-Allow-Origin "*"
Header always set Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS"
Header always set Access-Control-Allow-Headers "x-test-header, Origin, X-Requested-With, Content-Type, Accept"

PHP文件:

<?php
header("Access-Control-Allow-Origin: *");
header('Access-Control-Allow-Credentials: true');
header('Access-Control-Max-Age: 86400');
header("Access-Control-Allow-Methods: GET, POST, OPTIONS, PUT");
if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {
    http_response_code(200);
    exit('yes');
}

enter image description here

enter image description here

0 个答案:

没有答案