ERROR: using GetJSON knockout

1

.ASPX FILE

 <head>         
            <script src="scripts/jquery-1.4.4.js"></script>
            <script src="scripts/knockout-3.1.0.js"></script>
            <script src="scripts/jquery-1.4.4.min.js"></script>

               <script type="text/javascript">
                   function CarregarProdutos() {
                       var self = this;
                       $.getJSON("Json/Produtos.js", null, function (data) {
                               self.Nome = ko.observable(data.Nome[0]);
                               self.Quantidade = ko.observable(data.Quantidade[0]);
                               self.Valor = ko.observable(data.Valor[0]);
                           }
                        );
                   }
                   ko.applyBindings(new CarregarProdutos());
            </script>
    </head>
    <body>
            <form id="form1" runat="server">
                <table>
                    <tr>
                        <th>Nome</th>
                        <th>Quantidade</th>
                        <th>Valor</th>
                    </tr>
                    <tbody><tr>
                            <td data-bind="text: Nome"></td>
                            <td data-bind="text: Quantidade"></td>
                            <td data-bind="text: Valor"></td>
                    </tr></tbody>
                </table>
            </form>
        </body>  

ARCHIVE PRODUCTS.JS - JSON

[{  /// 1
        "Nome": "Arroz", 
        "Quantidade": "20",
        "Valor": "5.99" 
},
{  /// 2
        "Nome": "Feijao",
        "Quantidade": "4",
        "Valor": "2.99"
}]

When I run it does not work. Only the table header appears

    
asked by anonymous 10.07.2014 / 20:57

1 answer

1

Set the object and then do get

function CarregarProdutos() {
    var self = this;

    self.Nome = ko.observable();
    self.Quantidade = ko.observable();
    self.Valor  = ko.observable();

    $.getJSON("Json/Produtos.js", null, function (data) {
        self.Nome = ko.observable(data.Nome[0]);
        self.Quantidade = ko.observable(data.Quantidade[0]);
        self.Valor = ko.observable(data.Valor[0]);
    });
}

And make sure the data is returning in the correct format. Using your browser's debugging tools

    
10.07.2014 / 21:08