Valahogy mindig akkor hal le az extjs.com, amikor olyan bug-ba ütközök, amelyet valószínűleg már több száz másik ExtJS használó is megtalált, és a fórumban számtalan megoldást kínáltak a probléma orvoslására.
Az url-ek elkódolását nagyon olcsón oldották meg az ExtJS-ben.
var obj = {
str:'Hello',
obj: {
foo: 'Bar',
foobar: {
szia:'világ!',
hello:'world'
}
},
szamok: ['egy', 'ketto', 'harom'],
ures: []
}
console.log( Ext.urlEncode( obj) );
// str=Hello&szamok=egy&szamok=ketto&szamok=harom&ures
str:'Hello',
obj: {
foo: 'Bar',
foobar: {
szia:'világ!',
hello:'world'
}
},
szamok: ['egy', 'ketto', 'harom'],
ures: []
}
console.log( Ext.urlEncode( obj) );
// str=Hello&szamok=egy&szamok=ketto&szamok=harom&ures
A tömböt rosszul, az objektumot sehogy, a stringet jól jelenítette meg, a várt eredmény ez lenne:
// str=Hello&obj[foo]=Bar&obj[foobar][szia]=vil%C3%A1g!&obj[foobar][hello]=world&szamok[]=egy&szamok[]=ketto&szamok[]=harom&ures[]=
Mivel nagyobb problémát okozott volna a szerver oldalon módosítani a kódot, kénytelen voltam az Ext.urlEncode -t felülírni: