Я знаю, что это распространенная проблема, и ее много раз спрашивали.Но все методы просто не работали в ionic v4.
Я хочу получить данные с этого URL: http://data.szmb.gov.cn/szmbdata/open/openData.do?type=""&appid=""&appKey="";
Методы, которые использовались:
- Используйте плагин chrome «разрешить совместное использование ресурсов из разных источников».Failed.
- Плагин Ionic-native и 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 .