页面加载事件后,如果更改下拉列表中的值,则它会成功显示警报并进行 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。它在网页中没有显示任何错误。
请让我知道我在哪里犯了错误。