离子2
我使用的是登录提供程序,但是当我将访问控制设置为
res.header('Access-Control-Allow-Origin', '*');
是不工作
但是当我用
res.header('Access-Control-Allow-Origin', 'http://localhost:8100');
这是working
但是现在我想把我的应用程序部署到手机设备上,我需要将它设置为res.header('Access-Control-Allow-Origin', '*');
。因为我手机上的应用程序不再在http://localhost:8100
上工作了
任何人都能帮我解决这个问题吗?
发布于 2016-12-04 13:03:29
如果您正在制作预先准备的请求,则在Access-Control-Allow-Origin
头中禁止使用通配符。
您可以读取Origin
请求头,以找出来源。然后,您可以根据允许的来源列表对其进行测试(您还可以假设任何来源都是安全的,但是对于预先准备的请求,完全的公共访问很有可能会带来安全风险)。最后,您可以将其复制到Access-Control-Allow-Origin
响应头中。
发布于 2016-12-04 13:46:04
您从应用程序发出的HTTP请求看起来如何?
在这个文章中查找“CORS请求的类型”。
如果您的HTTP请求是简单的,即
HEAD
、GET
或POST
。Accept
Accept-Language
Content-Language
Last-Event-ID
Content-Type
of application/x-www-url-encoded
,multipart/form-data
或text/plain
如果您的HTTP请求很简单,则不需要预运行。而Access-Control-Allow-Origin
和*
被移动应用程序所接受。
否则,将发出飞行前请求(即OPTION
请求),忽略Access-Control-Allow-Origin
of *
。它必须像http://localhost:8100
一样完全指定。
https://stackoverflow.com/questions/40963576
复制相似问题