knockoutjs - ko.mapping.fromJS ne fonctionne pas

J'ai juste commencé à essayer knockout.js. Le ko.la cartographie offre une chouette façon d'obtenir et de la carte de données à partir du serveur. Cependant, je ne suis pas en mesure d'obtenir la cartographie de travail.

J'ai un modèle simple:

//var helloWorldModel;
var helloWorldModel = {
    name: ko.observable('Default Name'),
    message: ko.observable('Hello World Default')
};


$(document).ready(function() {
  ko.applyBindings(helloWorldModel);
      //a button on the form when clicked calls a server class 
      //to get json output
  $('#CallServerButton').click(getDataFromServer);
});

function getDataFromServer() {
  $.getJSON("HelloSpring/SayJsonHello/chicken.json", function(data) { 
    mapServerData(data);
  });
}

function mapServerData(serverData) {
  helloWorldModel = ko.mapping.fromJS(serverData, helloWorldModel);
  alert(JSON.stringify(serverData));
}

La helloWorldModel a seulement 2 attributs - exactement la même chose que j'retour à partir du serveur. L'alerte dans mapServerData montre -

{"name":"chicken","message":"JSON hello world"}

J'ai regardé les autres posts concernant ce genre de problème, mais aucun d'eux ne semblait être résoudre ce problème. Peut-être que je suis absent quelque chose de très simple: vous vous demandez si quelqu'un peut le point.

Également noter que si je ne déclare pas le modèle initial et l'utilisation

 helloWorldModel = ko.mapping.fromJS(serverData);

c'est la cartographie de données de mon formulaire correctement.

source d'informationauteur 6ton