Javascript 无法使用敲除绑定使用durandal JS发送json数据
我能够获取数据,但无法保存。。当我提醒我发送的数据时,我得到了 要发送的数据{“a”:“a”,“b”:“b”,“c”:“c”,“d”:“d”,“可观察的”“:{“完整的”“:真的}” 我试图用durandal的serialize.serialize()进行序列化,但仍然不起作用。。Javascript 无法使用敲除绑定使用durandal JS发送json数据,javascript,json,knockout.js,durandal,Javascript,Json,Knockout.js,Durandal,我能够获取数据,但无法保存。。当我提醒我发送的数据时,我得到了 要发送的数据{“a”:“a”,“b”:“b”,“c”:“c”,“d”:“d”,“可观察的”“:{“完整的”“:真的}” 我试图用durandal的serialize.serialize()进行序列化,但仍然不起作用。。 我想我无法发送数据,因为我在json数据中获得了可观察的,因此请帮助我解决这个问题。您正在应用ko.toJSON()两次。Durandal中的http插件中的post方法已经在使用了。请看方法代码: var xy
我想我无法发送数据,因为我在json数据中获得了可观察的,因此请帮助我解决这个问题。您正在应用
ko.toJSON()
两次。Durandal中的http
插件中的post
方法已经在使用了。请看方法代码:
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");
});
因此,您只需执行以下操作:
post:function(url, data) {
return $.ajax({
url: url,
data: ko.toJSON(data),
type: 'POST',
contentType: 'application/json',
dataType: 'json'
});
}
从
.toJSON
发送数据时会发生什么情况。observable
键不应该有太大的区别基于,我不能重复你的问题。如果您正在描述这个问题,它可能来自代码的另一部分。另外,您使用的浏览器是什么?如果您使用的是旧版本的KO,您可能还想考虑使用一个新版本的KO。您得到的HTTP代码是什么?但是这里的文档说不应该。嗨,非常感谢你宝贵的重播,我以字符串格式发送json,我首先将其转换为对象,删除了可观察对象,并将该对象作为数据发送到http.post,现在我可以保存..非常感谢,先生,我也做了同样的事情,并且我能够解决这个问题..但在此之前,我删除了json数据中的可观测值,然后我可以保存答案的代码,您也可以在要发送的数据中包含可观测值。方法ko.toJSON
将打开您的所有观察值。@margabit我认为他的意思是,他如何去除JSON中的可观察值。ko doc说,当使用toJSON函数时,它将从对象中去除可观察值,但这并没有发生。
url ="../save";
http.post(url,xyz).then(function(){
alert("success");
console("save was success");
});