モデルクラスとビューモデルがあり、モデルクラスのインスタンスを作成しています。ノックアウトjsは、テキストボックス値をviewmodelに渡します。
入力タグの中にテキストを入力すると、値がビューモデルに入りません。「保存」ボタンをクリックすると空の配列が表示されます。
あなたが実際にこれを設置しましたのに対し、あなたは、ネストされたcurretUser
ビューモデルにsaveuserDetail
関数に<input type="button"/>
要素にclick
にも束縛しまし
// Model class///
var userModel = function() {
self = this;
self.userName = ko.observable()
self.userMobileNumber = ko.observable();
self.userEmail = ko.observable();
self.userImageBase64 = ko.observable();
self.userImageType = ko.observable();
self.deviceUId = ko.observable();
}
//ViewModel//
var userDetails = function() {
self = this;
self.currentUser = ko.observable(new userModel());
//ajax post
self.saveuserDetail = function() {
var model = ko.toJSON(currentUser());
console.log(model);
jQuery.support.cors = true;
$.ajax({
url: baseurl + 'api/xxxx/xxxxx',
type: 'POST',
data: model,
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function(data) {}
});
}
};
$(document).ready(function() {
ko.applyBindings(new userDetails());
});
'self'は' var'でローカルにする必要があります: 'var self = this;'。 var model = ko.toJSON(self.curretUser()); ' –
これは私の問題を解決してくれてありがとうございます。 –