【发布时间】:2018-08-07 10:13:27
【问题描述】:
我正在使用 ionic serve 在端口 8080 上运行一个离子应用程序。我确实了解预检过程,并且我相信我得到了正确的响应:
我仍然收到此错误:
无法加载https://bla.bla:对预检请求的响应未通过访问控制检查:响应中的“Access-Control-Allow-Origin”标头的值不能是通配符“*”,当请求的凭据模式是“包含”。因此,Origin 'http://localhost:8080' 不允许访问。 XMLHttpRequest 发起的请求的凭证模式由 withCredentials 属性控制。
然后,真正的请求 (GET) 不会被发送。 更奇怪的是,就在这个请求之前,我能够将 POST 发送到同一台服务器。响应标头是相同的。请求的唯一区别是 Access-Control-Request-Headers 是 content-type 而不是 authentication
有什么想法吗?
【问题讨论】:
-
@Andreas 看起来不像。我绝对可以从 localhost:8080 向我的服务器发送 POST 请求,预检不会阻止它。但是上面的 GET 被拒绝了
-
您实际测试的是什么浏览器?屏幕截图中 User-Agent 请求头的值看起来像 iPhone 浏览器引擎发送的值,而不是 Chrome/Blink。但是你的标题和标签是 Chrome。
-
您是否在其他浏览器(Firefox?)中测试过该请求,您是否得到相同的错误?
-
@sideshowbarker 我正在使用 chrome,这可能是因为我激活了设备切换
标签: javascript google-chrome cors