from body ajax xmlhttprequest extjs4.1 readystate

ajax - body - request.xhr undefined en Ext JS



javascript ajax request body (1)

El problema parece ocurrir si y solo si tiene un punto de interrupción o un "depurador"; línea en todo lo relacionado con AJAX. Para mí sucedió en Chrome, aún no he probado otros navegadores.

En mi caso, sucedió cuando establecí un punto de interrupción en un controlador de eventos de carga para un ejemplo de código de tienda similar a continuación.

Pero el error ocurre si establece un punto de interrupción dentro de la función Ext onStateChange también en el marco.

Si deshabilita sus puntos de interrupción y debugger; llamadas elimina el error, puede ignorarlo con seguridad

Hay un hilo similar en los foros de ExtJS. Sencha podría agregar una solución.

Ext.define(''MyApp.controller.MyController'', { extend: ''Ext.app.Controller'', stores: [''Projects''], init: function () { this.getProjectsStore().addListener( "load", this.onProjectsStoreLoaded, this ); }, onProjectsStoreLoaded: function () { console.log(''MyController: onProjectsStoreLoaded''); debugger; // <- this causes the errors to appear in the console SomeOtherThingsIWantedToDebug(); } }

mi sitio web está hecho usando el marco Ext JS 4.1 y ASP .Net MVC v3. Cuando se procesa un nuevo fotograma, hay 19 solicitudes separadas de AJAX para recuperar datos en formato JSON. Todas las solicitudes son familiares y están hechas por Ext.Ajax.request (). Ejemplo:

Ext.Ajax.request({ url: getOrderLink, method: "GET", params: { recId: orderRecId }, headers: { ''Accept'': ''application/json'' }, success: function (response) { var order = Ext.decode(response.responseText); ... } });

En algunos casos, hay errores en ext-all.js en

onStateChange : function(request) { if (request.xhr.readyState == 4) { this.clearTimeout(request); this.onComplete(request); this.cleanup(request); } },

donde request no tiene propiedad xhr para que request.xhr.readyState arroje la excepción "No se puede leer la propiedad ''readState'' de undefined". Estos errores no aparecen para todas las solicitudes y no afectan el trabajo del sitio (las respuestas se recuperan con éxito). Algunas veces estos errores no aparecen en absoluto. El tiempo de espera para todas las solicitudes se establece en 30 segundos por defecto y demoran entre 1,5 y 2 segundos cada una. Estoy usando Google Chrome 21. ¿Podrían darme alguna idea de por qué está sucediendo?