angular2向POST请求添加自定义标头
我正在通过POST向API提交一些数据的请求,但我不断收到错误angular2向POST请求添加自定义标头,angular,cors,angular-http,Angular,Cors,Angular Http,我正在通过POST向API提交一些数据的请求,但我不断收到错误请求标头字段UniqueClientID不被飞行前响应中的访问控制允许标头所允许 此标头专门添加到请求中,但CORS飞行前选项请求正在阻止它。如何在请求和响应中允许此标头 这是我的函数调用 fetchReservation(reservationID: number) { let URI = `${AppService.API_URI}${AppService.MOBILE_PATH}${AppService.PROPERTY
请求标头字段UniqueClientID不被飞行前响应中的访问控制允许标头所允许
此标头专门添加到请求中,但CORS飞行前选项请求正在阻止它。如何在请求和响应中允许此标头
这是我的函数调用
fetchReservation(reservationID: number) {
let URI = `${AppService.API_URI}${AppService.MOBILE_PATH}${AppService.PROPERTY_ID}/reservation/${reservationID}`;
let headers = new Headers();
headers.append('Authorization', 'Bearer ' + AppService.AUTH_TOKEN);
headers.append('UniqueClientID', '0');
return this._http.post(URI, '', { headers: headers })
// ...and calling .json() on the response to return data
.map((res: Response) => res)
//...errors if any
.catch(this._errorHandler);
}
API正在运行.NET后端,所有CORS请求都是通过
[启用CORS(源代码:“*”,头文件:“*”,方法:“*”)
启用的。所有GET
请求都可以正常工作在您的后端,您应该允许访问,下面是一个PHP示例:
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST');
header('Access-Control-Allow-Headers: X-Requested-With, content-type, access-control-allow-origin, access-control-allow-methods, access-control-allow-headers');
如果后端不允许跨域,则无法访问它
希望能有帮助!;) 服务器端开发使用的任何技术。在每个响应中,您必须包括来自服务器端的响应头,如UniqueClientID(
)响应头('Access-Control-Allow-Origin:')
header('Access-Control-Allow-Methods:GET,POST')
header('Access-Control-Allow-Headers:X-request-With,内容类型,访问控制允许来源,访问控制允许方法,访问控制允许头')
header('Access-Control-Allow-Credentials:true')
黑客:-
如果您在chrome上运行它,还可以通过以下命令禁用它:-
开放运行-->
chrome.exe--user data dir=“C://chrome dev session”--禁用web安全性
浏览打开的窗口。我希望您能够通过此运行应用程序。跨域已启用,CORS正在处理GET请求。问题在于POST-requests,我希望启动部署过程,我需要解决这个问题,而不是绕过它。但这确实有效