Вы можете установить глобальное время ожидания для всех запросов jQuery AJAX на 5 секунд. Я полагаю, что это также покрывает запросы JSONP начиная с jQuery 1.5, но, возможно, стоит исследовать.
Вы можете установить один обработчик, для которого установлено время ожидания. Он может быть основан на URL-адресе исходящего запроса. Так что, возможно, для всех звонков в Yahoo, Flickr или Twitter вы можете установить тайм-аут. Приведенный ниже предварительный фильтр запускается перед отправкой каждого запроса AJAX и получает возможность полностью изменить запрос до его отправки.
jQuery.ajaxPrefilter(function(options) {
if (options.url is not going to my server) { // pseudocode :)
options.timeout = 5000;
}
});
Если вы не хотите использовать глобальный обработчик, установите свойство timeout
в каждом вызове $.ajax({ .. })
, который вы делаете. Это может быть проблематично для сторонних плагинов, таких как simpleWeather
, для которых вам придется изменить исходный код, если явно установите время ожидания.