离子2
我正在使用登录提供程序,但是当我将访问控制设置为
时 res.header('Access-Control-Allow-Origin', '*');
无效
但是当我使用
时它可以正常工作 res.header('Access-Control-Allow-Origin', 'http://localhost:8100');
正在工作
但现在我想在手机设备上部署我的应用程序,我需要将其设置为通配符res.header('Access-Control-Allow-Origin', '*');
。因为我的手机上的应用程序不再使用http://localhost:8100
任何人都可以帮我解决这个问题吗?
答案 0 :(得分:2)
如果您正在制作preflighted request,则Access-Control-Allow-Origin
标题中禁止使用通配符。
您可以阅读Origin
请求标题以查找原点。然后,您可以根据允许的来源列表对其进行测试(您还可以假设任何来源都可以,但对于预先发出的请求,完全公共访问很可能存在安全风险)。最后,您可以将其复制到Access-Control-Allow-Origin
响应标题中。
答案 1 :(得分:-1)
您的应用的HTTP请求是什么样的?
寻找" CORS请求的类型"在此article。
如果您的HTTP请求很简单,即
function rotateSlower() {
ang -= 0.1;
if (ang < 0) {
stateWheel++;
return;
}
totalSlower += ang;
if (totalSlower>= 360) totalSlower -= 360;
angT += ang;
if (angT >= 360) angT -= 360;
transform.rotation = Quaternion.Euler(-angT, 0.0, 0.0);
}
function rotateReverse() {
angT -= 0.4;
if (angT < angleStop) {
angT = Mathf.RoundToInt(angT);
stateWheel++;
}
transform.rotation = Quaternion.Euler(-angT, 0.0, 0.0);
}
function finished() {
index = Mathf.RoundToInt(angT/18);
if (index == 0) index += 20;
angleStart = angT;
stateWheel = 0;
}
,HEAD
或GET
POST
Accept
Accept-Language
Content-Language
Last-Event-ID
Content-Type
,application/x-www-url-encoded
或multipart/form-data
如果您的HTTP请求很简单,则不需要预检。移动应用已接受text/plain
Access-Control-Allow-Origin
。{/ p>
否则,将进行预检请求(即*
请求),OPTION
的{{1}}将被忽略。它必须完全指定为Access-Control-Allow-Origin
。