【发布时间】:2022-04-05 22:16:16
【问题描述】:
我知道这是一个常见的问题,并且被问过很多次。但是所有方法都不适用于 ionic v4。
我想从这个 URL 获取数据:http://data.szmb.gov.cn/szmbdata/open/openData.do?type=""&appid=""&appKey="";
尝试过的方法:
- 使用chrome“启用跨域资源共享”插件。失败。
- 离子原生和 Cordova 插件。这个方法返回一个
Promise,但我想要一个Observable。 - 编辑 proxy.conf.json 文件并将其添加到 angular.js,如下所示:
proxy.conf.json:
{
"/openData.do?": {
"target": "http://data.szmb.gov.cn/szmbdata/open",
"changeOrigin": true,
"secure": false,
"logLevel": "debug"
}
}
Angular.json:
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"options": {
"browserTarget": "app:build",
"proxyConfig": "proxy.conf.json"
},
"configurations": {
"production": {
"browserTarget": "app:build:production"
},
"ci": {
"progress": false
}
}
},
由https://forum.ionicframework.com/t/proxy-config-not-working-for-v4-beta/139400 提供。
- 将代理添加到 ionic.config.json - 这似乎不适用于 ionic v4。
我的离子信息:
Ionic:
ionic (Ionic CLI) : 4.10.3 (C:\Users\15432\AppData\Roaming\npm\node_modules\ionic)
Ionic Framework : @ionic/angular 4.0.1
@angular-devkit/build-angular : 0.12.4
@angular-devkit/schematics : 7.2.4
@angular/cli : 7.2.4
@ionic/angular-toolkit : 1.4.0
Cordova:
cordova (Cordova CLI) : 8.1.2 (cordova-lib@8.1.1)
Cordova Platforms : none
Cordova Plugins : no whitelisted plugins (1 plugins total)
System:
NodeJS : v10.14.1 (C:\Program Files\nodejs\node.exe)
npm : 6.4.1
OS : Windows 10
编辑:我尝试了离子代理文档(https://ionicframework.com/docs/cli/using-a-proxy)提供的另一种方法。仍然以某种方式不起作用。假设,当我已经将代理设置为喜欢“http://data.szmb.gov.cn/szmbdata/open/”时,我只需要输入http.get(openData.do? + ......) 即可到达目的地。但是,ionic serve 仍然返回一个“localhost:8100/openData.do?...”,就像 方法 3 的情况一样。
【问题讨论】:
-
有关于这个的消息吗?我也有同样的问题。
标签: angular ionic-framework cors ionic4