Хобрук: Ваш путь к мастерству в программировании

Ионно получить данные из URL

Привет, вот моя ионная информация,

введите описание изображения здесь

Я пытаюсь получить данные с URL-адреса, который возвращает объект json. однако я использую @angular/http. это отлично работает при выполнении в браузере (ionic serve). но когда я запускаю этот apk на реальном устройстве Android, данные не поступают с URL-адреса. Вот мой код,

 this.http.get('https://example.com/api?search='+this.searchInput.value).map(res => res.json()).subscribe(data => {
      this.postalCode = data.data;
  },error => { 
    let alert = this.alertCtrl.create({
      title: 'error',
      subTitle: error,
      buttons: ['Dismiss']
    });
    alert.present();
  });

Мой config.xml,

    <access origin="*" />
    <allow-intent href="http://*/*" />
    <allow-intent href="https://*/*" />

Моя ошибка,

введите описание изображения здесь

пожалуйста, дайте мне знать, что здесь необходимо выполнить любую настройку?


  • В чем твоя ошибка? 03.08.2018
  • подождите, я отредактирую этот вопрос с ошибкой 03.08.2018
  • Это может быть проблема CORS. 03.08.2018
  • Можете ли вы попробовать сгенерировать APK с флагом --debug, чтобы удаленно отлаживать его и просматривать данные ответа. Я согласен с @MangeshDaundkar относительно возможной проблемы с CORS 03.08.2018
  • это обычная проблема? 03.08.2018

Ответы:


1

В ионном,

Если вы используете broswer в качестве тестовой среды, вы должны включить совместное использование ресурсов из разных источников в своем браузере, прежде чем использовать эту функцию.

Вот как я решаю эту проблему,

import { Http } from '@angular/http';
import { HTTP } from '@ionic-native/http';

export class HomePage {
  ServerData: any;

  constructor(
    private HttpAngularProvider: Http,
    private HttpNativeProvider: HTTP,
    .....

  ) {
    this.getPostalCodeFromServer();
  }


  getPostalCodeFromServer() {
    if (this.platform.is('android') || this.platform.is('ios')) {

      this.HttpNativeProvider.get('your_url', {}, { "Content-Type": "application/json" })
        .then(data => {
          var dataReturn = JSON.parse(data.data);
          this.ServerData = dataReturn.data;
        })
        .catch(error => {

        });
    } else {
      this.HttpAngularProvider.get('your_url').map(res => res.json()).subscribe(data => {
        this.ServerData = data.data;

      }, error => {

      });
    }
  }

На реальном устройстве вам нужно сделать http-запрос через ionic-native. в противном случае вы не получили данные.

05.08.2018
Новые материалы

Понимание СТРУКТУРЫ ДАННЫХ И АЛГОРИТМА.
Что такое структуры данных и алгоритмы? Термин «структура данных» используется для описания того, как данные хранятся, а алгоритм используется для описания того, как данные сжимаются. И данные, и..

Как интегрировать модель машинного обучения на ios с помощью CoreMl
С выпуском новых функций, таких как CoreML, которые упростили преобразование модели машинного обучения в модель coreML. Доступная модель машинного обучения, которую можно преобразовать в модель..

Создание успешной организации по науке о данных
"Рабочие часы" Создание успешной организации по науке о данных Как создать эффективную группу по анализу данных! Введение Это обзорная статья о том, как создать эффективную группу по..

Технологии и проблемы будущей работы
Изучение преимуществ и недостатков технологий в образовании В быстро меняющемся мире технологии являются решающим фактором в формировании будущего работы. Многие отрасли уже были..

Игорь Минар из Google приедет на #ReactiveConf2017
Мы рады сообщить еще одну замечательную новость: один из самых востребованных спикеров приезжает в Братиславу на ReactiveConf 2017 ! Возможно, нет двух других кланов разработчиков с более..

Я собираюсь научить вас Python шаг за шагом
Привет, уважаемый энтузиаст Python! 👋 Готовы погрузиться в мир Python? Сегодня я приготовил для вас кое-что интересное, что сделает ваше путешествие более приятным, чем шарик мороженого в..

Альтернатива шаблону исходящих сообщений для архитектуры микросервисов
Познакомьтесь с двухэтапным сообщением В этой статье предлагается альтернативный шаблон для папки Исходящие : двухэтапное сообщение. Он основан не на очереди сообщений, а на..