1

ページが読み込まれたイベントの後、ドロップダウンの値を変更すると、アラートが正常に表示され、WebApi からデータを返すために jquery ajax 呼び出しが行われました。ただし、データは 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 にバインドされていない理由がわかりません。Web ページにエラーは表示されません。

どこを間違えたのか教えてください。

4

1 に答える 1

1

この行を書き直してください。そしたらうまくいく

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