Ошибка заключается в следующем: иногда xhr.getAllResponseHeaders() возвращает null. А возвращаемое значение не проверяется и используется сразу.
Вот сниппет из класса Ext.data.Connection:
/**
* Create the response object
* @private
* @param {Object} request
*/
createResponse : function(request) {
var xhr = request.xhr,
headers = {},
lines = xhr.getAllResponseHeaders().replace(/\r\n/g, '\n').split('\n'),
count = lines.length,
line, index, key, value, response;
// other code goes here....
}
Несложно догадаться, что строка
lines = xhr.getAllResponseHeaders().replace(/\r\n/g, '\n').split('\n'),приведет к ошибки, если xhr.getAllResponseHeaders() возвратит null. Что и происходит в данном случае.
Фикс этого безобразия следующий:
lines = xhr.getAllResponseHeaders() ? xhr.getAllResponseHeaders().replace(/\r\n/g, '\n').split('\n') : '',
Комментариев нет:
Отправить комментарий