Usando ExtJS 2.2.1, tengo un elemento contenedor que se supone que cargar un trozo de HTML desde el servidor usando:ExtJS: autoLoad no funciona en IE
autoLoad: { url: 'someurl' }
Esto funciona bien en Firefox , pero para IE7 esto resulta en un error de sintaxis en ext-all-debug.js en la línea 7170:
this.decode = function(json){
return eval("(" + json + ')');
};
me fijo esta girando esa función en este:
this.decode = function(json){
return eval('(function(){ return json; })()');
};
Luego, el autoLoad funciona bien en ambos navegadores, pero luego hay algunos errores extraños y, además, realmente no desea arreglar esto en la biblioteca ExtJS, ya que no se podrá mantener (especialmente en el ext-all.js minificado que es como medio megabye de Javascript en una sola línea).
No he podido encontrar mucho sobre este error.
variaciones que he probado:
// With <script> tags around all the HTML
autoLoad: { url: 'someurl', scripts: true }
// With <script> tags around all the HTML
autoLoad: { url: 'someurl', scripts: false }
Y viceversa, sin las etiquetas <script>
. Tampoco hay Javascript en el HTML, pero debería ser posible, porque eventualmente usaremos Javascript dentro del HTML devuelto.
El problema no está en el HTML porque incluso con el HTML más simple posible, el error es el mismo.
ACTUALIZACIÓN - Respuesta a Donovan:
El caso más simple en que esto se utiliza es la siguiente:
changeRolesForm = new Ext.Panel({
height: 600,
items: [{ autoScroll: true, autoLoad: WMS.Routing.Route("GetRolesList", "User") + '?userID=' + id}]
});
No hay ningún almacén de datos involucrado aquí. El tipo de respuesta también es text\html
, no json, por lo que tampoco puede confundirlo. Y como dije, está funcionando bien en Firefox, y en Firefox, también ejecuta la misma función eval
, pero sin el error. Entonces, no es que Firefox siga una ruta de ejecución diferente, es lo mismo, pero sin el error en eval
.
Ninguna de las "respuestas" aborda el hecho de que el error solo ocurre en IE. Todavía estamos experimentando lo mismo en Ext 3.3.0. –
Hola Julian, si miras FireBug, ¿qué devuelve el servidor? Ext realiza una llamada al servidor después de lo cual muere en IE, sería útil si se publican la solicitud y la respuesta (incluidos los encabezados) –
Recomiendo usar Charles Proxy para obtener la información que Rob busca, ya que las herramientas de depuración de IE son horribles –