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”,“ observable ”:{“全“:真}}
我试图用durandal的serialize.serialize()序列化,但仍然无法正常工作.. 我想我无法发送数据,因为我在json数据中得到 obserbvable 所以请帮助我解决这个问题。
答案 0 :(得分:2)
您正在申请ko.toJSON()
两次。来自Durandal的post
插件的方法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");
});