Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ProxyStore中的循环依赖项错误_Javascript_Json_Extjs_Extjs6 - Fatal编程技术网

Javascript ProxyStore中的循环依赖项错误

Javascript ProxyStore中的循环依赖项错误,javascript,json,extjs,extjs6,Javascript,Json,Extjs,Extjs6,我正在尝试解决extjs6中的一个棘手错误。在ProxyStore中保存记录时,我得到一个无限循环: Ext.JSON.doEncode Ext all debug.js:48683 Ext.JSON.encodeObject@Ext all debug.js:48789 Ext.JSON.doEncode@Ext all debug.js:48685 Ext.JSON.encodeObject@Ext all debug.js:48789 经过进一步调查,我发现如果我在表中再次保存一行,那么表

我正在尝试解决extjs6中的一个棘手错误。在ProxyStore中保存记录时,我得到一个无限循环:

Ext.JSON.doEncode Ext all debug.js:48683

Ext.JSON.encodeObject@Ext all debug.js:48789

Ext.JSON.doEncode@Ext all debug.js:48685

Ext.JSON.encodeObject@Ext all debug.js:48789

经过进一步调查,我发现如果我在表中再次保存一行,那么表中的数据对象就会被一些奇怪的方法污染

最初,我的存储数据(例如store.data.items[0].data)中有如下条目:

{autoRelease: false
id: "app.model.DssMarketModel-9"
foo: "1"
bar: "2"}
如果在对话框和Ext.form.Panel中打开此对象,则可以修改并保存此对象。然而,在我保存它之后,在我对代理存储执行“同步”(即Ext.data.ProxyStore sync())后,记录被一大堆垃圾所污染

这会导致堆栈溢出循环依赖性问题,因为在请求对象的深处又有一个对同一记录对象的引用,使得同步不可能

这些新属性似乎是通过名为app.overrides.ResponseHeadersBugfix的东西放在那里的

有人知道为什么会发生这个问题吗?为什么ResponseHeadersBugFix属性会将自己附加到我的表记录上

{
getAllResponseHeaders: ()
getResponseHeader: (name)
request: constructor
getAllResponseHeaders: ()
getResponseHeader: (name)
////
autoRelease: "false"
id: "app.model.DssMarketModel-9"
foo: "1"
bar: "2"
////
request: constructor
requestId: 9
responseText: ""
responseXML: null
status: 200
statusText: "OK"
__proto__: Object
}