CORS可以在Chrome上运行,但不能在Safari或iOS设备上运行(IONIC APP) 我试图向我的请求添加一些标题 但没有用
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'POST, GET, OPTIONS, PUT',
'Accept': 'application/json',
'content-type': 'application/json'
我还尝试在Safari中禁用“跨域限制”,此方法效果很好,但在IOS模拟器或设备上却不起作用
那么,如何解决呢?
答案 0 :(得分:0)
离子应用程序(android,ios和离子服务)在本地主机上工作。默认情况下,Web API不允许来自其他来源的请求。
因此,您有3个选择:
答案 1 :(得分:0)
您可以在应用的后端代码上添加以下代码。 header('Access-Control-Allow-Origin:*'); 希望对您有帮助。
答案 2 :(得分:0)
Recently i got same problem but i resolve it by using cordova-plugin-advanced-http
for android and ios device.
Install
ionic cordova plugin add cordova-plugin-advanced-http
npm install @ionic-native/http
Use
import { HTTP } from '@ionic-native/http/ngx';
constructor(private http: HTTP) {}
...
this.http.get('http://ionic.io', {}, {})
.then(data => {
console.log(data.status);
console.log(data.data); // data received by server
console.log(data.headers);
})
.catch(error => {
console.log(error.status);
console.log(error.error); // error message as string
console.log(error.headers);
});
More details: see official link
答案 3 :(得分:0)
我通过在服务器端Config中添加Access-Control-Allow-Headers:"*"
并用我的自定义标头替换*来做到这一点