0

ノックアウト.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(データ);」viewModel のすべてを、読み込んでいる json に置き換えます。これには関数 saveForm が含まれていました

于 2013-05-14T22:27:34.833 に答える