簡體   English   中英

使用Ajax將數據從淘汰賽發布到Controller

[英]Post data from Knockout to Controller using Ajax

我的控制器參數為空。 我正在發布數據,因為我在Chrome Developer工具中可以看到它。 我在MVC中有一個Person模型,該模型與下面的Person模型匹配。 這是我的ViewModel:

 function Person(data) {
    this.FirstName = ko.observable(data.FirstName);
    this.LastName = ko.observable(data.LastName);
    this.Id = ko.observable(data.Id);

    this.fullName = ko.computed(function () {
        return this.FirstName() + " " + this.LastName();
    }, this);

}

function PersonViewModel() {
    var self = this;
    self.people = ko.observableArray([]);



    $.getJSON("/api/person/getpeople", function (allData) {
        var mappedTasks = $.map(allData, function (item) { return new Person(item) });
        self.people(mappedTasks);
    });


    self.save = function(){

        $.ajax("/api/person/updateperson", {
            data: ko.toJSON({ people: self.people }),
            type: "post", contentType: "application/json",
            success: function (result) { alert(result) }
        });
    }
}
ko.applyBindings(new PersonViewModel);

API控制器:

  [HttpPost]
    public bool UpdatePerson(List<Person> person)
    {
        return mgr.UpdatePerson(person);
    }

您需要確保服務參數的名稱與您傳遞的名稱匹配。

self.save = function(){

        $.ajax("/api/person/updateperson", {
            data: ko.toJSON({ person: self.people }),
            type: "post", contentType: "application/json",
            success: function (result) { alert(result) }
        });
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM