PDA

View Full Version : store field illegal characters



KimSchneider
31 May 2012, 6:37 AM
Hello,

are there any illegal characters you should NOT use in a stores' field definition?

I got the following error:

Uncaught SyntaxError: Unexpected identifier ext-all-debug.js:495Ext.apply.functionFactory ext-all-debug.js:495
Ext.define.buildRecordDataExtractor ext-all-debug.js:40323
Ext.define.buildExtractors ext-all-debug.js:40256
Base.implement.callParent ext-all-debug.js:3725
Ext.define.buildExtractors ext-all-debug.js:40401
Ext.define.setModel ext-all-debug.js:39988
Ext.define.setReader ext-all-debug.js:38782
Ext.define.setModel ext-all-debug.js:38758
Ext.define.inheritableStatics.setProxy ext-all-debug.js:48035
hooks.onBeforeCreated ext-all-debug.js:48015
Ext.apply.require ext-all-debug.js:5768
(anonymous function) ext-all-debug.js:1836
hooks.onBeforeCreated ext-all-debug.js:47988
Ext.apply.doProcess ext-all-debug.js:4000
Ext.apply.doProcess ext-all-debug.js:4005
Manager.registerPostprocessor.uses ext-all-debug.js:6034
Ext.apply.require ext-all-debug.js:5768
Manager.registerPostprocessor.uses ext-all-debug.js:6001
Ext.apply.doProcess ext-all-debug.js:4004
Ext.apply.doProcess ext-all-debug.js:4005
Ext.apply.process ext-all-debug.js:3992
Ext.Class.ExtClass ext-all-debug.js:3908
Ext.ClassManager.create ext-all-debug.js:4673
Ext.apply.define ext-all-debug.js:5092
Ext.define.constructor ext-all-debug.js:47307
Base.implement.callParent ext-all-debug.js:3725
Ext.define.constructor ext-all-debug.js:49666
constructor ext-all-debug.js:3889
(anonymous function)
Ext.ClassManager.instantiate ext-all-debug.js:4856
(anonymous function) ext-all-debug.js:1836


My stores' definition looks like this:

Ext.create('Ext.data.Store', { fields : fields
});

fields var contains:



0: "name"
1: "err-line"
2: "Brother HL-2140 series (umgeleitet 3)"
3: "Brother HL-3040CN Frau Persch auf fileserver (umgeleitet 10)"
4: "BrotherHL3040CNPersch auf fileserver (umgeleitet 11)"
5: "BrotherHL3040CNPersch auf fileserver.quierschied.local (umgeleitet 10)"
6: "BrotherHL3040CNPersch auf fileserver.quierschied.local (umgeleitet 11)"
7: "BrotherHL3040CNPersch auf fileserver.quierschied.local (umgeleitet 14)"
8: "BrotherHL3040CNSpangStrobel auf fileserver (umgeleitet 11)"
9: "Bullzip PDF Printer"
10: "Bullzip PDF Printer (umgeleitet 5)"
11: "Canon i560 (umgeleitet 13)"
12: "Canon i560 - Beul auf PC05 (umgeleitet 13)"
13: "Canon i560 auf PC08 (umgeleitet 8)"
14: "Canon iP3500 series (umgeleitet 6)"
15: "Canon iP3600 edelröslie (umgeleitet 13)"
16: "Canon iP3600 series (umgeleitet 12)"
17: "CanoniP4800Oettlin (umgeleitet 14)"
18: "EPSON BX320FW Series (umgeleitet 10)"
19: "EPSON BX320FW Series auf DC1 (umgeleitet 10)"
20: "Gewerbesteuerbescheide - lokal (umgeleitet 4)"
21: "HP Deskjet 6940 series (Kopie 1) (umgeleitet 8)"
22: "hp LaserJet 1320 PCL 6 auf PC01 (umgeleitet 6)"
23: "HP LaserJet 8100 auf server2 (umgeleitet 13)"
24: "HP LaserJet 8100 auf server2 (umgeleitet 6)"
25: "HP LaserJet P3005 PCL 6 auf server1 (umgeleitet 3)"
26: "HPOfficejet6500Spaniol auf fileserver (umgeleitet 3)"
27: "Lexmark T650 auf fileserver (umgeleitet 13)"
28: "Lexmark T650 auf fileserver (umgeleitet 8)"
29: "Lexmark T650 auf fileserver.quierschied.local (umgeleitet 13)"
30: "Lexmark T650 auf fileserver.quierschied.local (umgeleitet 6)"
31: "Lexmark T650 auf fileserver.quierschied.local (umgeleitet 8)"
32: "Microsoft Office Document Image Writer (umgeleitet 11)"
33: "Microsoft Office Document Image Writer (umgeleitet 14)"
34: "Microsoft XPS Document Writer"
35: "Microsoft XPS Document Writer (umgeleitet 10)"
36: "Microsoft XPS Document Writer (umgeleitet 11)"
37: "Microsoft XPS Document Writer (umgeleitet 12)"
38: "Microsoft XPS Document Writer (umgeleitet 13)"
39: "Microsoft XPS Document Writer (umgeleitet 14)"
40: "Microsoft XPS Document Writer (umgeleitet 3)"
41: "Microsoft XPS Document Writer (umgeleitet 4)"
42: "Microsoft XPS Document Writer (umgeleitet 6)"
43: "Microsoft XPS Document Writer (umgeleitet 8)"
44: "PageManager PDF Writer (umgeleitet 4)"
45: "TOSHIBA e-STUDIO4520CSeriesPCL6 auf server1 (umgeleitet 11)"
46: "TOSHIBA e-STUDIO4520CSeriesPCL6 Hauptamt auf fileserver (umgeleitet 10)"
47: "TOSHIBAAquarium auf fileserver.quierschied.local (umgeleitet 10)"
48: "TOSHIBAAquarium auf fileserver.quierschied.local (umgeleitet 11)"
49: "TOSHIBAAquarium auf fileserver.quierschied.local (umgeleitet 12)"
50: "TOSHIBAAquarium auf fileserver.quierschied.local (umgeleitet 14)"
51: "TOSHIBAAquarium auf fileserver.quierschied.local (umgeleitet 3)"
52: "TOSHIBAAquarium auf fileserver.quierschied.local (umgeleitet 5)"
53: "TOSHIBAAquarium auf fileserver.quierschied.local (umgeleitet 6)"
54: "TOSHIBAAquarium auf fileserver.quierschied.local (umgeleitet 8)"
55: "TOSHIBAHauptamt auf fileserver.quierschied.local (umgeleitet 10)"
56: "TOSHIBAHauptamt auf fileserver.quierschied.local (umgeleitet 11)"
57: "TOSHIBAHauptamt auf fileserver.quierschied.local (umgeleitet 12)"
58: "TOSHIBAHauptamt auf fileserver.quierschied.local (umgeleitet 13)"
59: "TOSHIBAHauptamt auf fileserver.quierschied.local (umgeleitet 14)"
60: "TOSHIBAHauptamt auf fileserver.quierschied.local (umgeleitet 3)"
61: "TOSHIBAHauptamt auf fileserver.quierschied.local (umgeleitet 4)"
62: "TOSHIBAHauptamt auf fileserver.quierschied.local (umgeleitet 5)"
63: "TOSHIBAHauptamt auf fileserver.quierschied.local (umgeleitet 6)"
64: "TOSHIBAHauptamt auf fileserver.quierschied.local (umgeleitet 8)"
65: "Canon iP4500 series (umgeleitet 4)"
66: "HP Deskjet 1280 (umgeleitet 5)"
67: "Lexmark T650 auf fileserver (umgeleitet 6)"
68: "Lexmark T650 auf fileserver.quierschied.local (umgeleitet 4)"
69: "Microsoft Office Document Image Writer (umgeleitet 3)"
70: "TOSHIBAAquarium auf fileserver.quierschied.local (umgeleitet 13)"
71: "TOSHIBAAquarium auf fileserver.quierschied.local (umgeleitet 4)"
72: "Canon iP3500 series auf PC33 (umgeleitet 5)"
73: "Microsoft XPS Document Writer (umgeleitet 5)"
74: "Abgabenbescheide - CCDMS (umgeleitet 15)"
75: "Acrobat PDFWriter (umgeleitet 15)"
76: "BrotherHL3040CNPersch auf fileserver.quierschied.local (umgeleitet 15)"
77: "BrotherHL3040CNSpangStrobel auf fileserver (umgeleitet 15)"
78: "HP Deskjet 6500 Series - StrobelC (umgeleitet 15)"
79: "Mahnungen - CCDMS (umgeleitet 15)"
80: "Microsoft Office Document Image Writer (umgeleitet 15)"
81: "Microsoft XPS Document Writer (umgeleitet 15)"
82: "TOSHIBAHauptamt auf fileserver.quierschied.local (umgeleitet 15)"
83: "TOSHIBA AQ auf ts1 (umgeleitet 15)"
84: "TOSHIBAAquarium auf fileserver.quierschied.local (umgeleitet 15)"
85: "BrotherHL3040CNPersch auf filese


Any hints? Thanks! :)

scottmartin
31 May 2012, 12:39 PM
Can you segregate your data into sections to see if this is the cause?

Scott.

vietits
31 May 2012, 4:23 PM
Have you tried to config your json reader with useSimpleAccessors set to true?

KimSchneider
1 Jun 2012, 12:34 AM
The error happens on store creation, not while loading the data.

I removed the dots in some field-names and it is working now.

vietits
1 Jun 2012, 12:57 AM
I don't think the error happens at the creating time of store. The following example shows that


Ext.onReady(function(){
Ext.define('Model', {
extend: 'Ext.data.Model',
fields: ['a.b.c', 'd.e.f']
});


var store = Ext.create('Ext.data.Store', {
model: 'Model',
});
console.log(store); // store successfully created without any error.
});

KimSchneider
1 Jun 2012, 1:40 AM
It's got nothing to do with the data.

Works:

Ext.onReady(function(){ var store = Ext.create('Ext.data.Store', {
fields: ['sdfsdf a_b_c', 'd.e.f']
});
console.log(store); // store successfully created without any error.
});

Doesn't:

Ext.onReady(function(){ var store = Ext.create('Ext.data.Store', {
fields: ['sdfsdf a.b.c', 'd.e.f']
});
console.log(store); // store successfully created without any error.
});

vietits
2 Aug 2012, 11:56 PM
Configuring proxy reader with useSimpleAccessors set to true will fix the problem. However, I recommend not to use special characters in field names.


Ext.onReady(function(){
var store = Ext.create('Ext.data.Store', {
fields: ['sdfsdf a.b.c', 'd.e.f'],
proxy: {
type: 'ajax',
reader: {
type: 'json',
useSimpleAccessors: true
}
}
});
console.log(store); // store successfully created without any error.
});