调用knockoutjs postJson后如何收到JSON响应?

jaf*_*ffa 1 jquery json knockout.js

当我调用knockoutjs postJson()函数时,有没有办法从服务器上调用一个成功的Json响应函数,就像你可以使用Jquery的ajax帖子一样?

我想做两件事之一:

1)PostJson然后让控制器响应Json错误消息,如果验证失败.

2)模型验证成功并且页面被回发(使用RedirectToAction('Index')).

RP *_*yer 5

ko.utils.postJson旨在将数据发布到服务器,就像您为表单提交了一样,并将JSON作为urlencoded数据发布.如果你想通过AJAX发布数据并在成功或失败时运行代码,那么最好的办法是使用jQuery AJAX函数.此外,您可以使用ko.toJSON(yourobject)方便地获取对象的JSON表示,并正确地展开所有可观察对象.

就像是:

$.ajax({
    url: yourcontroller/action,
    type: "POST",
    data: ko.toJSON(yourdata),
    dataType: "json",
    contentType: "application/json; charset=utf-8",
    success: function(data) {
       ...do something
    }
});
Run Code Online (Sandbox Code Playgroud)