我有一个简单的PHP脚本,我正在尝试跨域CORS请求:
<?php
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Headers: *");
...
然而,我仍然得到了错误:
Access-Control-Allow-Headers不允许请求报头字段X-Requested-With
我还缺什么吗?
我有一个简单的PHP脚本,我正在尝试跨域CORS请求:
<?php
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Headers: *");
...
然而,我仍然得到了错误:
Access-Control-Allow-Headers不允许请求报头字段X-Requested-With
我还缺什么吗?
当前回答
我只是设法让dropzone和其他插件与此修复工作(angularjs + php后端)
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Credentials: true");
header('Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS');
header('Access-Control-Max-Age: 1000');
header('Access-Control-Allow-Headers: Origin, Content-Type, X-Auth-Token , Authorization');
将此添加到您的upload.php或发送请求的地方(例如,如果您有upload.html,您需要将文件附加到upload.php,然后复制并粘贴这4行)。 此外,如果你在chrome/mozilla中使用CORS插件/插件,请确保切换它们不止一次,以便启用CORS
其他回答
我得到了同样的错误,并在我的后端脚本用下面的PHP修复了它:
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST');
header("Access-Control-Allow-Headers: X-Requested-With");
当我使用angular 4作为客户端,使用PHP作为服务器端时,这些代码就可以完成了。
header("Access-Control-Allow-Origin: *");
我使用这5个头,之后解决了cors错误(后端:PHP,前端:VUE JS)
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS, post, get');
header("Access-Control-Max-Age", "3600");
header('Access-Control-Allow-Headers: Origin, Content-Type, X-Auth-Token');
header("Access-Control-Allow-Credentials", "true");
许多互联网范围内的描述没有提到指定Access-Control-Allow-Origin是不够的。下面是一个适合我的完整例子:
<?php
if ($_SERVER['REQUEST_METHOD'] === 'OPTIONS') {
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: POST, GET, DELETE, PUT, PATCH, OPTIONS');
header('Access-Control-Allow-Headers: token, Content-Type');
header('Access-Control-Max-Age: 1728000');
header('Content-Length: 0');
header('Content-Type: text/plain');
die();
}
header('Access-Control-Allow-Origin: *');
header('Content-Type: application/json');
$ret = [
'result' => 'OK',
];
print json_encode($ret);
在.htaccess中添加此代码
在头部添加自定义认证密钥,如app_key,auth_key..等
Header set Access-Control-Allow-Origin "*"
Header set Access-Control-Allow-Headers: "customKey1,customKey2, headers, Origin, X-Requested-With, Content-Type, Accept, Authorization"