php No 'Access-Control-Allow-Origin' header is present on the requested resource 加了header('Access-Control-Allow-Origin: *'); 跨域还报错
时间: 2023-11-17 16:01:48 浏览: 205
已解决:No 'Access-Control-Allow-Origin'跨域问题
5星 · 资源好评率100%
在PHP中,使用header('Access-Control-Allow-Origin: *')可以解决跨域问题,但是有时候即使加了这个header也会报错。这是因为在跨域请求中,浏览器会先发送一个OPTIONS请求,来确定是否可以跨域访问。如果服务器没有正确处理这个OPTIONS请求,也会导致跨域请求失败。因此,你需要在服务器端添加对OPTIONS请求的处理,例如添加以下代码:
```
if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS');
header('Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept');
exit;
}
```
这段代码会在收到OPTIONS请求时,返回允许跨域访问的header信息,从而解决跨域问题。
阅读全文