使用knockout.js点击提交按钮时,将表单发布到服务器的最简单方法是什么?
这是我目前的情况,但不是发布。我的saveForm函数坏了什么?
// Here's my data model with save option
var self = this;
var viewModel;
$.getJSON('@Url.Content("~/api/myData")', function (data) {
viewModel = ko.mapping.fromJS(data);
self.save = function (form) {
alert("Could now transmit to server");
};
viewModel.saveForm = function () {
var jsonData = ko.mapping.toJSON(viewModel);
$.ajax({
type: "POST",
url: '@Url.Content("~/api/myData")',
data: jsonData
});
};
ko.applyBindings(viewModel);
});
<button type="submit">Save</button>
答案 0 :(得分:1)
可能值得推行
debugger;
之前
viewModel = ko.mapping.fromJS(data);
并检查firebug中viewModel会发生什么。 “viewModel = ko.mapping.fromJS(data);”将使用您正在加载的json替换viewModel中的所有内容。这包括你的函数saveForm