Я хочу изменить данные для моего приложения с простых тестовых данных макета на реальные данные с сервера.У меня есть 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, но работает с данными макета.
Я что-то пропустил?Где моя ошибка?Или как я могу получить больше информации?Поскольку я не получаю никаких сообщений об ошибках.