Czy jest mi ktoś w stanie wyjaśnić dlaczego funkcja printProducts() i find() zwraca "undifned"? Pytanie API zwraca poprawny obiekt w json, a mimo to wyświetla śmieci :(
Dodam, że przedtem robiłem apkę w Web API 2 i działało, a teraz zrobiłem API w .NET Core i mam "undefined" :(
@serafino: Ok, wyjaśniłem sobie sam. Porównałem jsony jakie wychodzą ze starego API i nowego i dostałem takie coś:
Web Api 2 [{"id":1,"name":"Tomato Soup","category":"Groceries","price":1.0},{"id":2,"name":"Yo-yo","category":"Toys","price":3.75},{"id":3,"name":"Hammer","category":"Hardware","price":16.99}]
Core API [{"Id":1,"Name":"asdas","Category":"asd","Price":3.00},{"Id":2,"Name":"asdas","Category":"asd","Price":3.00},{"Id":3,"Name":"asdas","Category":"asd","Price":7.00}]
Z jakiegoś powodu "stare" api nazywało pola z małej litery, pomimo, że wszystkie pola z modelu były z wielkiej. Jquery szukały w response pól z małej litery, ale dostawał z wielkiej, stąd ten undefined
Dodam, że przedtem robiłem apkę w Web API 2 i działało, a teraz zrobiłem API w .NET Core i mam "undefined" :(
#programowanie #javascript #jquery
W sumie to kluczowej rzeczy nie pokazałem :D
http://wklej.org/id/3353589/
Web Api 2
[{"id":1,"name":"Tomato Soup","category":"Groceries","price":1.0},{"id":2,"name":"Yo-yo","category":"Toys","price":3.75},{"id":3,"name":"Hammer","category":"Hardware","price":16.99}]
Core API
[{"Id":1,"Name":"asdas","Category":"asd","Price":3.00},{"Id":2,"Name":"asdas","Category":"asd","Price":3.00},{"Id":3,"Name":"asdas","Category":"asd","Price":7.00}]
Z jakiegoś powodu "stare" api nazywało pola z małej litery, pomimo, że wszystkie pola z modelu były z wielkiej. Jquery szukały w response pól z małej litery, ale dostawał z wielkiej, stąd ten undefined
na przykład:
services.AddMvc().AddJsonOptions(options => {
options.SerializerSettings.ContractResolver = new DefaultContractResolver();
options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
options.SerializerSettings.NullValueHandling = NullValueHandling.Ignore;
});
tu masz możliwości:
https://www.newtonsoft.com/json/help/html/ContractResolver.htm