Переключение приложения с тестовых макет-данных на реальные данные JSON с сервера - PullRequest
0 голосов
/ 18 декабря 2018

Я хочу изменить данные для моего приложения с простых тестовых данных макета на реальные данные с сервера.У меня есть products.service.ts, который получает данные с помощью следующей функции:

  getProducts(product_size_type: string): Observable<Product[]> {
      // return of(PRODUCTSCAT1);
      return this.http.get<Product[]>(this.productsUrl).pipe(catchError(this.handleError('getProducts', [])));
    }

Получивший комментарий return of(PRODUCTSCAT1) возвращал данные макета из mock-products.ts, который выглядит следующим образом:

import { Product } from './product';

export const PRODUCTSCAT1: Product[] = [
        {
            id: 1,
            name: 'Product W 1',
            sex: 'W',
            category: 'cat1',
            origin: 'Korea',
            def_production: 0,
            variants: [
                { id: 1, name: '35', amount: 12, locked: 1},
                { id: 2, name: '36', amount: 30, locked: 0},
                { id: 3, name: '37', amount: 0, locked: 0},
                { id: 4, name: '38', amount: 30, locked: 0},
                { id: 5, name: '39', amount: 0, locked: 0},
                { id: 6, name: '40', amount: 12, locked: 0},
                { id: 7, name: '41', amount: 60, locked: 0},
                { id: 7, name: '42', amount: 60, locked: 0},
                { id: 7, name: '43', amount: 60, locked: 0},
            ]
        },
        {
            id: 2,
            name: 'Product W 2',
            sex: 'W',
            category: 'cat2',
            origin: 'Korea',
            def_production: 0,
            variants: [
                { id: 1, name: '35', amount: 12, locked: 0},
                { id: 2, name: '36', amount: 30, locked: 0},
                { id: 3, name: '37', amount: 0, locked: 0},
                { id: 4, name: '38', amount: 30, locked: 0},
                { id: 5, name: '39', amount: 0, locked: 0},
                { id: 6, name: '40', amount: 12, locked: 0},
                { id: 7, name: '41', amount: 60, locked: 0},
                { id: 7, name: '42', amount: 60, locked: 0},
                { id: 7, name: '43', amount: 60, locked: 0},
            ]
        },
    ];

Данные, поступающие с сервера, выглядят в браузере следующим образом (без перерывов! Я добавил их, чтобы сделать их читаемыми):

[{"id":1,"name":"Product One","sex":"W","category":"cat 1","origin":"Korea","def_production":0,"variants":
[{"id":1,"name":"35","amount":0,"locked":1},
{"id":2,"name":"36","amount":0,"locked":1},
{"id":3,"name":"37","amount":0,"locked":1},
{"id":4,"name":"38","amount":0,"locked":1},
{"id":5,"name":"39","amount":0,"locked":1},
{"id":6,"name":"34","amount":0,"locked":1},
{"id":7,"name":"41","amount":0,"locked":1},
{"id":8,"name":"42","amount":0,"locked":1},
{"id":9,"name":"43","amount":0,"locked":1}]},
{"id":2,"name":"Product Two","sex":"M","category":"cat 2","origin":"Korea","def_production":0,"variants":
[{"id":10,"name":"35","amount":0,"locked":1},
{"id":11,"name":"36","amount":0,"locked":1},
{"id":12,"name":"37","amount":0,"locked":1},
{"id":13,"name":"38","amount":0,"locked":1},
{"id":14,"name":"39","amount":0,"locked":1},
{"id":15,"name":"34","amount":0,"locked":1},
{"id":16,"name":"41","amount":0,"locked":1},
{"id":17,"name":"42","amount":0,"locked":1},
{"id":18,"name":"43","amount":0,"locked":1}]}]

Эти данные полученыPHP-скрипт, который возвращает: echo json_encode($array);

Если я регистрирую данные с помощью console.log(data) на консоли или когда я распечатываю их в шаблоне, подобном этому {{ data | json }}, данные выглядят очень похоже.

Однако приложение не работает с данными из PHP Script, но работает с данными макета.

Я что-то пропустил?Где моя ошибка?Или как я могу получить больше информации?Поскольку я не получаю никаких сообщений об ошибках.

...