Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
angular2向POST请求添加自定义标头_Angular_Cors_Angular Http - Fatal编程技术网

angular2向POST请求添加自定义标头

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

我正在通过POST向API提交一些数据的请求,但我不断收到错误
请求标头字段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,我希望启动部署过程,我需要解决这个问题,而不是绕过它。但这确实有效