仅使用“ OPTIONS”方法调用xmlHttprequest

时间:2018-11-19 09:34:59

标签: http cors

我从一台服务器向服务器发出请求(API调用),它是跨域资源,因此我希望有选项请求。 对于选项请求,我将获得以下响应头:

access-control-allow-headers: 'all headers I sent'
access-control-allow-methods: GET,OPTIONS
access-control-allow-origin: *
content-length: 0
content-type: application/json
date: Mon, 19 Nov 2018 09:14:32 GMT
status: 200
x-amz-apigw-id: some id
x-amzn-requestid: 'some id'

响应头返回时:

access-control-allow-origin: *

我收到一个错误:

  

在以下位置访问XMLHttpRequest   来自来源“ http://localhost:4200”的“ APIURL”已被CORS政策阻止:   请求标头字段X-Application不允许   飞行前响应中的Access-Control-Allow-Header。

那为什么没有用方法请求?

对于同一服务器,具有相同选项响应的另一个API与get方法一起使用。

我正在使用angular7,后端服务器已启用CORS。

有人可以指导我为什么会发生这种情况吗,我可以做出哪些改变?

谢谢!

更新:

根据“ sideshowbarker”中的注释,我从请求标头中删除了X-APPLICATION标头。但是对于2个API而言,仍然低于错误以下的错误,而从相同来源到同一服务器的其他API可以正常工作:

  
      
  1. 从源访问“ APIURL服务器1”上的XMLHttpRequest   “ http://localhost:4200”已被CORS政策屏蔽:对   预检请求未通过访问控制检查:否   请求中存在“ Access-Control-Allow-Origin”标头   资源。 -来自本地主机的Server1
  2.   
  3. 在以下位置访问XMLHttpRequest   “ API URL服务器2”   来自来源“ http://localhost:4200”的信息已被CORS政策阻止:   对预检请求的响应未通过访问控制检查:   没有HTTP正常状态。
  4.   

如果服务器配置为处理CROSS原始请求,那么我应该不会收到此错误。如果有人帮助我理解并解决此问题,我将不胜感激。 如果有人需要帮助,请告诉我是否需要更多详细信息。 谢谢!

0 个答案:

没有答案