3
var   xyz=  { 
              a: ko.observable(),
              b: ko.observable(),
              c: ko.observable(),   
              d: ko.observable()

           };
        function setupControlEvents()
    {
        $("#save").on("click",handleSave);                    
    }

    function handleSave()
    {

        var data = ko.toJSON(xyz);
        //alert("data to send "+data);
        //var d = serializer.serialize(data);
        url ="../save";
    http.post(url,data).then(function(){
            alert("success");
            console("save was success");
         });

我能够获取数据但无法保存..当我提醒我要发送的数据时,我会将此数据发送 {"a":"A","b":"B","c":" C","d":"D","可观察的":{" full ":true}}

我尝试使用 durandal 的 serialize.serialize() 进行序列化,但仍然无法正常工作.. 我想我无法发送数据,因为我在 json 数据中变得可观察,所以请帮我解决这个问题..

4

1 回答 1

2

你申请ko.toJSON()了两次。postDurandal 插件中的方法http已经在做。看一下方法代码:

post:function(url, data) {
        return $.ajax({
            url: url,
            data: ko.toJSON(data),
            type: 'POST',
            contentType: 'application/json',
            dataType: 'json'
        });
    }

所以你只需要这样做:

url ="../save";
http.post(url,xyz).then(function(){
        alert("success");
        console("save was success");
});
于 2013-09-02T08:03:14.670 回答