ko.toJSON не преобразовал объект JS в строку JSON

0

внутри моей модели представления у меня есть следующий объект 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. Вместо этого пустая строка передается в contrller

любая помощь?

  • 0
    возможно ko.toJSON (новая COAData)
Теги:
asp.net-mvc
knockout.js

1 ответ

0

Попробуйте использовать ko.toJS вместо ko.toJSON, также если self.ACCOUNT_CODE является наблюдаемым, вы должны написать self.ACCOUNT_CODE() и т.д. (С ()).

Ещё вопросы

Сообщество Overcoder
Наверх
Меню