Asp.net mvc 控制器动作赢了';t绑定JSON视图模型
每次我发布到我的操作时,我的Asp.net mvc 控制器动作赢了';t绑定JSON视图模型,asp.net-mvc,json,asp.net-mvc-3,knockout.js,knockout-2.0,Asp.net Mvc,Json,Asp.net Mvc 3,Knockout.js,Knockout 2.0,每次我发布到我的操作时,我的ViewModel都不为空,但里面的所有值都始终为空 在我有console.log的地方,我可以看到完美的JSON被输出到控制台 有什么想法吗 行动: public ActionResult Add(MyViewModel model) { //stuff } JS: 编辑: 哇,我觉得自己很笨,我有私人设置,所以这就是它没有绑定的地方。试试这个: $.post("/user/add", data, function(result){ //stuff }, data
ViewModel
都不为空,但里面的所有值都始终为空
在我有console.log
的地方,我可以看到完美的JSON被输出到控制台
有什么想法吗
行动:
public ActionResult Add(MyViewModel model)
{
//stuff
}
JS:
编辑:
哇,我觉得自己很笨,我有私人设置
,所以这就是它没有绑定的地方。试试这个:
$.post("/user/add", data, function(result){
//stuff
}, dataType: json);
我过去遇到的情况是,默认数据类型不是Json,因此它不能正确地传递它。可能不是这里发生的事情….尝试一下:
$.post("/user/add", data, function(result){
//stuff
}, dataType: json);
我过去遇到的情况是,默认数据类型不是Json,因此它不能正确地传递它。可能不是这里发生的事情….您必须将数据转换为json
json.stringify(result)
var model=@Html.Raw(Viewbag.MyJSON);
var viewModelDetails=ko.mapping.fromJS(模型);
this.addData=函数(){
var data=ko.toJSON(viewModelDetails);
控制台日志(数据);
$.post(“/user/add”,JSON.stringify(数据),函数(结果){
//东西
},
数据类型:json,
传统的:真的
);
}
您必须将数据转换为jsonjson.stringify(结果)
var model=@Html.Raw(Viewbag.MyJSON);
var viewModelDetails=ko.mapping.fromJS(模型);
this.addData=函数(){
var data=ko.toJSON(viewModelDetails);
控制台日志(数据);
$.post(“/user/add”,JSON.stringify(数据),函数(结果){
//东西
},
数据类型:json,
传统的:真的
);
}
我以前也遇到过类似的问题。我将与您分享我提出的解决方案
进行如下更改
var data = ko.toJS(viewModelDetails);
注意:要在没有本机JSON序列化程序(例如IE 7或更早版本)的旧浏览器上运行,还必须参考json2.js库
我知道这将非常有效。如果解决了您的问题请将其标记为答案
如果它对您有用,请单击上行链路
代码中有什么问题:-
var data = ko.toJSON(viewModelDetails);
您需要将数据再次解析为json,然后您可以使用它,否则它将出错。我以前遇到过类似的问题。我将与您分享我提出的解决方案 进行如下更改
var data = ko.toJS(viewModelDetails);
注意:要在没有本机JSON序列化程序(例如IE 7或更早版本)的旧浏览器上运行,还必须参考json2.js库
我知道这将非常有效。如果解决了您的问题请将其标记为答案
如果它对您有用,请单击上行链路
代码中有什么问题:-
var data = ko.toJSON(viewModelDetails);
你需要将数据重新解析为json,然后你可以使用它,否则它会出错。你能在调用
ko.toJSON
之后发布数据的json吗?你能在调用ko.toJSON
之后发布数据的json吗?