这是代码。
/^[0-9]*[\u007C-]{1}[0-9]*$/
我正在使用$http({ method: 'GET', url: imageUrl });
框架。它在web,andorid mobile和android模拟器中工作正常。
但是当我在IOS 9.3模拟器(4.1.1)中使用相同内容时,我收到错误Ionic
我想我可以消除后端中的任何可能的错误,因为它正在与其他UI框架一起使用。同样在后端(XMLHttpRequest cannot load 'imageUrl'. Origin 'XXX' is not allowed by Access-Control-Allow-Origin.
)我已将Django framework
和CORS_ORIGIN_ALLOW_ALL
设置为CORS_ALLOW_CREDENTIALS
,将端口的IP地址添加到True
以及所需的标头(包括CORS_ORIGIN_WHITELIST
中的Access-Control-Allow-Origin
}。
那么,是否需要采取任何具体措施才能使IOS仿真器/平台出现此错误?
答案 0 :(得分:0)
当你跑步时:
ionic cordova emulate ios -l -c -s
我的猜测是,您正在做的是,模拟器已启动并且绑定到您的Mac的IP地址而不是“本地主机”#39;。这会导致您的接收端点在您的获取请求的请求标头中看到您的Mac的IP,因为这是一个与模拟器不同的地址,它会将您的请求视为跨域请求。
请尝试Ionic团队的以下指南:
简而言之:
在ionic.config.json文件中设置代理:
{
"name": "proxy-example",
"app_id": "",
"proxies": [
{
"path": "/api",
"proxyUrl": "http://cors.api.com/api"
}
]
}
离子cordova模拟ios -l -c -s --port 8080
答案 1 :(得分:0)
CORS问题是应该在服务器上处理的问题。如果您使用Azure来部署Web Api和Azure数据库服务, 1.打开仪表板。 2.打开您的Web API应用程序服务。 3.从菜单中的API标头下选择CORS。 4.允许来源* Reference Image 并且也不要忘记在Azure SQL服务器的防火墙设置中允许所有IP [0.0.0.0到255.255.255.255] Reference Image 2