如何在淘汰赛中调用方法$ .getJSON()

时间:2012-10-27 15:10:56

标签: javascript ajax knockout.js asp.net-web-api

我已经设置了这个基本的淘汰赛脚本(仍然在学习)

$.getJSON(clientUrl + "/list/" + 1, function (data) {

var viewModel = {
    clients: ko.observableArray(data)
};

ko.applyBindings(viewModel);
});

第一个参数'lucidServer.getClients(1)'调用此ajax请求:

var getClients = function (id) {
    return $.ajax(clientUrl + "/list/" + id)
};

现在我恢复了json,但它似乎没有正确绑定模板。这是json:

0: {iD:1, userId:1, name:CompanySoft, LLC.,…}
1: {iD:2, userId:1, name:Widget Factory,…}
2: {iD:3, userId:1, name:Jim's Consulting,…}

模板在这里:

<div id="clientListOutput">
            <ul "template: { foreach: clients }">
                <li><span data-bind"text: name"></span></li>
            </ul>
        </div>

1 个答案:

答案 0 :(得分:1)

你的标记中有很多拼写错误。

HTML应如下所示:

  <div id="clientListOutput">
            <ul data-bind="foreach: clients">
                <li><span data-bind="text: name"></span></li>
            </ul>
  </div>

由于您的ul代码中包含标记,因此无需使用template绑定。只需使用foreach,Knockout将完成迭代每个客户端的工作,并为每个客户端呈现li

这是一个工作小提琴:http://jsfiddle.net/jearles/6XhM4/