Javascript 在knockout js中将循环结构转换为JSON

Javascript 在knockout js中将循环结构转换为JSON,javascript,knockout.js,knockout-mvc,knockout-3.0,Javascript,Knockout.js,Knockout Mvc,Knockout 3.0,我有两个网格结构,其中一个我多次有多个字段,而其中一个我一次有两个字段。我为每个网格编写apply方法,我的第一个网格id工作正常,但当我在第二个网格上单击apply时,我得到了这个错误 Uncaught TypeError: Converting circular structure to JSON 以下是两种应用方法: self.applyRate = function (loan) { // commit the edit transaction self.edit

我有两个网格结构,其中一个我多次有多个字段,而其中一个我一次有两个字段。我为每个网格编写apply方法,我的第一个网格id工作正常,但当我在第二个网格上单击apply时,我得到了这个错误

Uncaught TypeError: Converting circular structure to JSON  
以下是两种应用方法:

self.applyRate = function (loan) {
    //  commit the edit transaction
    self.editTransaction.notifySubscribers(null, "commit");
    alert(ko.toJSON({data:loan}));
    //  hides the edit fields
    self.editingItem(null);
};
   self.apply = function (data) {
    //  commit the edit transaction
    self.editTransaction.notifySubscribers(null, "commit");
    alert(ko.toJSON({data:data}));
    self.editingItem(null);
};
applyRate()
当我单击编辑并单击第一个网格上的应用(即贷款)时调用

单击“申请强制福利”文本字段时遇到问题


这里有一个Js FIDLE链接:

在这里绑定
$root
的原因是什么
$root.applyRate.bind($root)
?Knockout在引擎盖下使用JSON.stringify。请参阅以获取解决方案