Имам проблем с преглеждането на данните, които се връщат от JSONP извикване към спокойна api услуга. Аз използвам Durandal. Не съм сигурен дали не се изобразява, защото използвам грешно обвързване на данни, или е заради jsonp, или е някаква друга причина.
Ето какво имам в моя файл clients.js:
define(['plugins/http', 'durandal/app', 'knockout'], function (http, app, ko) {
return {
displayName: 'Clients',
clients: ko.observableArray([]),
activate: function () {
var that = this;
return http.jsonp('http://site/api/clients/1', 'jsoncallback').then(function (response) {
that.clients(response.items);
});
}
};
});
Данните, които се връщат, изглеждат така:
{
Id: 1,
Company: "Exosis",
email: "[email protected]",
phone: "+1 (824) 431-2547",
address: "234 Ruby Street, Beechmont, Connecticut, 5450",
about: "Consectetur dolore excepteur ex sit nostrud.Voluptate tempor dolore minim do aliqua duis consequat nostrud amet. Nisi consequat eu Lorem ipsum.",
clientStartDate: "1990-09-18",
isActive: true,
clientType: "multiple"
}
Това, което не разбирам, е как трябва да се свържа (data-bind) с данните, които се връщат. Пробвах всички варианти, за които се сетих. Това е файлът clients.hmtl:
<body>
<section>
<h2 data-bind="text: displayName"></h2>
<div data-bind="foreach: clients">
<div data-bind="text: Id"></div>
<div data-bind="text: Company"> </div>
</div>
</section>
</body>
Благодаря за всякакви отзиви.
АКТУАЛИЗАЦИЯ Така че промених clients.js на that.clients.push(response.items); И в дебъгера имам клиенти: Array[1] 0: undefined
this
е правилен, когато се извикваactivate()
. - person Brett   schedule 10.12.2013