У меня возникают проблемы с просмотром данных, которые возвращаются из вызова JSONP в службу restful API. Я использую Дюрандаль. Я не уверен, что это не рендеринг, потому что я использую неправильную привязку данных, или это из-за jsonp, или по какой-то другой причине.
Вот что у меня есть в файле client.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"
}
Чего я не понимаю, так это того, как я должен подключаться (связывать данные) к возвращаемым данным. Я перепробовал все возможные варианты. Это файл client.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>
Спасибо за любой отзыв.
ОБНОВЛЕНИЕ Итак, я изменил client.js на that.clients.push(response.items); А в отладчике у меня клиенты: Array[1] 0: undefined
this
правильный при вызовеactivate()
. - person Brett   schedule 10.12.2013