0

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

1 回答 1

1

可能值得放线

debugger;

viewModel = ko.mapping.fromJS(data);

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

于 2013-05-14T22:27:34.833 回答