我的应用程序中有一些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');
}
});
提前致谢
答案 0 :(得分:0)
我认为使用JSONP是不可能的 - 你应该看一下Ext.Ajax类。此外,使用JSONP无法进行POST(请参阅the Sencha forum
答案 1 :(得分:0)
您需要实现自己的超时并执行故障回调:
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);