Обратное обнаружение AjaxText - PullRequest
0 голосов
/ 18 января 2011

Эта функция вызывается, когда ajax запрашивает readyState == 3,

function(context, xhrobj, itself){
    //Test if context.responseText is available here.

    var text = context.responseText;
    //Do stuff
}

Как я могу проверить, доступен ли context.responseText?В настоящее время я делаю это,

if ($.browser.msie) return false;

Но я действительно не хочу определять браузер, Есть ли способ определить, недоступен ли context.responseText? Специально для IE7 /8, я не поддерживаю 6 или ниже.

Я пробовал,

if('responseText' in context) return false;

, который не работает, потому что находится в контексте, просто недоступен, и

try{context.responseText;} catch(x){return false;}

, но это похоже навзломать.

1 Ответ

0 голосов
/ 18 января 2011

Контекст не будет инициализировать объект ответа, будь то текст, XML.Поэтому, если вы не реализуете своего рода наблюдателя для фактического создания / инициализации / заполнения ответа, вторая попытка ... catch, похоже, сделает то, что вам нужно.Это не хак, так как context.responseText не создан и, следовательно, не инициализирован.

Я буду продолжать следить за этой веткой, но я думаю, что ИМХО ваш подход уместен.удачи

Джош

...