Ionic v4: использование прокси-сервера для устранения ошибки CORS - PullRequest
0 голосов
/ 20 февраля 2019

Я знаю, что это распространенная проблема, и ее много раз спрашивали.Но все методы просто не работали в ionic v4.

Я хочу получить данные с этого URL: http://data.szmb.gov.cn/szmbdata/open/openData.do?type=""&appid=""&appKey="";

Методы, которые использовались:

  1. Используйте плагин chrome «разрешить совместное использование ресурсов из разных источников».Failed.
  2. Плагин Ionic-native и Cordova.Этот метод возвращает Promise, но я хочу Observable.
  3. Редактирование файла 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 .

1 Ответ

0 голосов
/ 15 марта 2019

Вам необходимо запустить приложение, используя:

ionic serve -- --proxy-config proxy.conf.json
...