Как установить тайм-аут в JSONP? - PullRequest
0 голосов
/ 10 января 2012

У меня в приложении есть JSONP, и я хочу установить для них время ожидания.
Как мне это установить?

это может быть как то так, если это возможно:)

Ext.util.JSONP.request({
url: mhid.dashboard.hbf.controller+'/get_dashboard'
,method: 'POST'
,timeout : 50000 // TIMEOUT
,callbackKey: 'jsonp_callback'
,params:{
    'site' : site
    ,'fleet' : fleet
    ,'sn' : sn
    ,'format' : 'json'
}
,callback: function(response, opts) {
    var obj = response;
    tpl.overwrite('content', obj);
    loadMask.hide();
}
,failure: function(response, opts) {
    alert('Failure');
}

});

Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 14 мая 2012

Вам нужно будет ввести собственное время ожидания и выполнить обратный вызов сбоя:

var failureCallback = function() {
    // MUST remove the current request, 
    // or it will not dispatch any subsequent new JSONP request
    // unless you refresh your page
    delete Ext.util.JSONP.current;

    alert('Failure');
};

Ext.util.JSONP.request({..}); // as usual 

var failureTimeoutId = setTimeout(function() {
    failureCallback();
}, 30000);
  • сбросить время ожидания , если ваш запрос успех
  • отменить текущий запрос , если для запроса истекло время ожидания
0 голосов
/ 11 января 2012

Я не думаю, что это возможно при использовании JSONP - вы должны взглянуть на класс Ext.Ajax . Кроме того, POST невозможно с использованием JSONP (см. форум Sencha

...