У меня возникла проблема, когда определенные значения, возвращаемые сервером, выдают «код 12» в firebug и вызывают плавающее сообщение «Загрузка» в extjs, которое никогда не исчезает, казалось бы, висящий на моей странице. Эта проблема возникает только в Firefox. Я обнаружил, что могу последовательно воспроизвести проблему, поместив «&» в одно из значений, которое входит в GridPanel, но другие значения, такие как форматирование с расширенным текстом, иногда также выдают код 12. Я обнаружил, что если я захожу на страницу в опере, я могу исправить данные на панели сетки и сохранить их на сервере. Затем, обновляя страницу Firefox, все возвращается на круги своя. Есть ли какой-то разделитель или что-то такое, что я могу поставить вокруг этих значений, чтобы это не происходило? Я extjs могу позволить мне сохранить что-то на сервере, я не понимаю, как получить его обратно вызывает проблемы.
В клопе:
An invalid or illegal string was specified" code: "12
[Break On This Error] (function(){var D=Ext.lib.Dom;var E=Ex...El.cache;delete El._flyweights})})();
Пример JSON, возвращенный с сервера (обратите внимание, что «200 & 5» вызывает ошибку, «200 и 5» будет работать нормально)
{"summaryList":[{"shot":"","seq":"200 & 5","active":9998,"tag":"","file":"","id":"137943329348950905822686689581598049837","quick_comments":"","comments":"","priority":"","asset":"","prod":"dragon","type":"","store":"","submitby":"jstratton","status":"ip","format":"","date":"2011_5_10","approval":"hofx_pm","name":"jstratton","notes":"","uri":"137943329348950905822686689581598049837","dept":"fx","time":"10 May 2011 13:56:30","order":2}], "success":true}
Магазин JSON и GridPanel
var summaryStore = new Ext.data.JsonStore({
url: 'summaryList',
root: 'summaryList',
baseParams : {
show: showSelect.getValue(),
dept: deptSelect.getValue(),
approval: typeSelect.getValue(),
roundDate: roundDateField.getValue(),
user: summaryUser.getValue(),
},
autoLoad: true,
fields: [],
});
var summaryGrid = new Ext.grid.GridPanel({
store: summaryStore,
columns : [],
// turn off multi-selection for now
tbar : [activeButton,
removeButton,
' ',
exportToSpreadsheetButton,
refreshButton,
],
renderTo: 'summaryTab',
autoHeight: true,
loadMask: {msg: 'Loading information. Thank you for your patience.'},
autoExpandColumn: 'comments',
autoSizeColumns: true,
ddGroup: 'summaryGridDD',
enableDragDrop: true,
viewConfig: {
forceFit: true,
},
titleCollapse : true,
collapsed: false,
stripeRows: true,
title: 'Summary',
frame: true,
});