【问题标题】:ko.toJSON did not convert JS object into JSON stringko.toJSON 没有将 JS 对象转换为 JSON 字符串
【发布时间】: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


【解决方案1】:

尝试使用ko.toJS 而不是ko.toJSON,如果self.ACCOUNT_CODE 是可观察到的,你应该写self.ACCOUNT_CODE() 等等(使用())。

【讨论】:

    猜你喜欢
    • 2016-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-06
    • 2019-08-27
    • 2020-05-27
    • 1970-01-01
    相关资源
    最近更新 更多