在页面加载事件之后,如果在下拉列表中更改值,则它会成功显示警报并进行jquery ajax调用以从WebApi返回数据。但数据并不对UL有约束力。下面是代码。
<ul data-role="listview" data-divider-theme="b" data-inset="true" data-bind="foreach: Contacts" style="margin-top:-17px;">
<li data-theme="c">
<a href="#page1" data-transition="slide" data-bind="attr: { title: ContactID }">
<span data-bind="text: FirstName + ' ' + LastName ')'"></span>
</a>
</li>
</ul>
function StrikeAppViewModel() {
var self = this;
self.Contacts = ko.observableArray();
self.SearchContacts = function () {
alert("Onchange event is fired");
$.ajax({
url: 'http://localhost:50043/api/Contacts',
type: 'GET',
dataType: 'jsonp',
context: this,
success: function (result) {
debugger;
self.Contacts($.parseJSON(result));
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert(errorThrown);
}
});
}
};
我不知道为什么数据没有绑定到ul.It在网页中没有显示任何错误。
请告诉我错误的地方。
答案 0 :(得分:1)
请重新写这一行。然后它会正常工作
self.Contacts(result);