在Angular 4应用中与PHP API的CORS请求问题可以通过以下方法解决:
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: GET, POST, OPTIONS");
header("Access-Control-Allow-Headers: Content-Type, Authorization, X-Requested-With");
这将允许任何来源(*)进行跨域请求,并允许GET、POST和OPTIONS方法。你也可以根据需要添加其他允许的方法和头信息。
import { HttpHeaders } from '@angular/common/http';
const httpOptions = {
headers: new HttpHeaders({
'Content-Type': 'application/json',
'Authorization': 'your-auth-token'
})
};
// 示例GET请求
this.http.get('http://your-php-api-url', httpOptions)
.subscribe(data => {
console.log(data);
});
在示例中,我们添加了Content-Type和Authorization头信息,你可以根据你的实际需要添加其他头信息。
{
"/api/*": {
"target": "http://your-php-api-url",
"secure": false,
"changeOrigin": true
}
}
然后在你的package.json文件中的scripts属性中添加以下命令:
"start": "ng serve --proxy-config proxy.conf.json"
现在,当你启动你的Angular 4应用时,所有以/api/开头的请求都将通过代理转发到你的PHP API,并且不会受到CORS限制。
这些是解决Angular 4应用与PHP API的CORS请求问题的一些常见方法。你可以根据你的具体需求选择适合你的方法。