发布表格的Knockout.js

时间:2013-05-14 22:16:13

标签: javascript jquery knockout.js

使用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>

1 个答案:

答案 0 :(得分:1)

可能值得推行

debugger;

之前

viewModel = ko.mapping.fromJS(data);

并检查firebug中viewModel会发生什么。 “viewModel = ko.mapping.fromJS(data);”将使用您正在加载的json替换viewModel中的所有内容。这包括你的函数saveForm