1

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

请让我知道我在哪里犯了错误。

4

1 回答 1

1

请重新写下这一行。然后它会正常工作

  self.Contacts(result);
于 2013-08-13T10:03:52.673 回答