Плагин ionic4 Cordova http.get получает JSON, как ожидается, доставит JSON, но доставит строку - PullRequest
0 голосов
/ 27 февраля 2019

Служба

import { Injectable } from '@angular/core';
import { HTTP, HTTPResponse } from '@ionic-native/http/ngx';
import { Promise } from 'q';

@Injectable({
    providedIn: 'root'
})
export class YfapiService {
    private baseUrl: string;

    constructor(private http: HTTP) { 
        this.baseUrl = "valid url delivering some json";
    }

    public getDriverDetails(driverKey: string):  Promise<HTTPResponse> {
        return Promise((resolve, reject) => {
            this.http.get(this.baseUrl, {}, {})
            .then(response => resolve(response.data))
            .catch(error => reject(error));
        });
    }
};

URL-адрес является допустимым и доставляет json, а Content-type также является application / json.Однако в «response» есть «data», а response.data всегда является строкой, включающей json, полученный от удаленного сервиса.Как превратить это в JSON?

JSON.parse, кажется, недоступен.Итак, второй вопрос: я делаю что-то совершенно не так или я что-то упустил?

Ionic V4.10.3 Cordova 8.1.2 Плагины, установленные за последние несколько дней Платформа: Windows 10, Java 8 Платформы, установленные в Кордове: browser, android

Резюме:

A.) Как выполнить обещание с ответом в json B.) Если это невозможно, как превратить строку в JSON, когда JSON.parse() недоступен, или как сделать JSON.parse () доступным в моем проекте?

1 Ответ

0 голосов
/ 27 февраля 2019

После 2 дней возни я был разочарован и поэтому закрыл все окна, командные строки и т. Д. Наконец, я убил службы node.js в диспетчере задач.Дым позже я начал новую попытку.Что сказать, теперь JSON можно было использовать, Promise работал как положено, но оба кода все еще помечены как «неизвестные» кодом Visual Studio.Пока я думал об этом, Visual Studio Code начал предлагать мне обновление.Я пошел на это.

Что сказать: обновления помогают, и иногда перерыв для вас и вашей машины также помогает решать проблемы.Может быть, это поможет бедной душе в будущем.

...