【发布时间】:2014-03-23 09:20:25
【问题描述】:
在我的视图模型中,我有以下包含可观察值的 JS 对象
var COAData = {
ACCOUNT_CODE: self.ACCOUNT_CODE,
ACCOUNT_NAME: self.ACCOUNT_NAME,
ACCOUNT_DESCRIPTION: self.ACCOUNT_DESCRIPTION,
OPENING_BALANCE: self.OPENING_BALANCE,
ACCOUNT_DATE: self.ACCOUNT_DATE,
MAIN_ACCOUNT: self.MAIN_ACCOUNT,
SUB_ACCOUNT: self.SUB_ACCOUNT,
CONTROLL_ACCOUNT: self.CONTROLL_ACCOUNT,
SUBSIDERY_ACCOUNT: self.SUBSIDERY_ACCOUNT,
ACCOUNT_TYPE: self.ACCOUNT_TYPE,
VOUCHING_ACCOUNT: self.VOUCHING_ACCOUNT
};
我正在使用以下 ajax 函数将上述 JS 对象作为 JSON 字符串发送到 MVC 中的控制器,以将数据保存到数据库中。
self.submitCOA = function () {
$.ajax(
{
type: "post",
url: "/ChartOfAccounts/Create",
contentType: "application/json",
dataType: "json",
data: ko.toJSON(COAData),
success: function (data) {
alert("New Accoungt with Account #" + self.ACCOUNT_CODE(data.ACCOUNT_CODE) + "added successfully");
//GetChartOfAccounts();
},//success function end
error: function (error) {
alert(error.status + "<!----!>" + error.statusText);
}//error function end
}
);//ajax function end
};
在调试时,我知道 ko.toJSON 没有将 JS 对象 (COAData) 转换为 JSON 字符串。而是将一个空字符串传递给控制器
有什么帮助吗?
【问题讨论】:
-
也许是 ko.toJSON(新 COAData)
标签: jquery asp.net-mvc json knockout.js