Les données ‘post’ de JQuery AJAX ne parviennent pas jusqu’au contrôleur API Web

Je configure un object Person () sur deux ko.observables et essaie de le transmettre à mon appel ajax. De l’autre côté, un contrôleur d’API Web est déclaré nul.

Voici comment je lie les données aux ko.observables:

      

mon .js qui est supposé prendre les valeurs ko.observable mais n’est pas:

 var firstname = ko.observable(); var lastname = ko.observable(); var email = ko.observable(); var password = ko.observable(); function submitclicked() { insertNewUser(); ko.applyBindings(firstname); ko.applyBindings(lastname); ko.applyBindings(email); ko.applyBindings(password); }; function Person() { this.FirstName = firstname(); this.LastName = lastname(); this.Email = email(); this.Password = password(); } function insertNewUser() { var person = new Person(); $.ajax({ url: "/api/Reg", type: 'post', data: JSON.ssortingngify(person), contentType: "application/json; charset=utf-8", success: function (result) { person(result); } }) 

Mon contrôleur qui n’intègre pas cet object “personne” correctement. il récupère les objects mais toutes les valeurs sont nulles (même si les entrées de texte ont du texte) First_Name = null, Last_Name = null, Email = null, Mot de passe = null

 public void addUser(Person item) { var db = new MyEntities(); try { User record = new User() { First_Name = item.FirstName, Last_Name = item.LastName, Email = item.Email, Password = item.Password }; db.User.Add(record); db.SaveChanges(); 

Quelqu’un remarque-t-il que j’ai tout gâché?

EDIT: nettoyé l’exemple un peu.

  public ..... Post([FromBody]objClass obj) var thing=obj.property; 

Aussi, vous ne pouvez pas poster un object (il doit s’agir de données réelles), voir Json ssortingngify essayer ce fil Comment JSON.ssortingngify et JSON.parse sans obtenir un object vide?

Utilisez ko.toJSON pour sérialiser correctement les observables en données JSON ko.toJSON

De plus, votre définition de modèle est étrange. Pour définir les observables en dehors du constructeur, cela signifie que vous ne pouvez pas avoir plus d’une instance de l’object Person.