我正在使用PhantomJS中的ajax-Requests做一些事情。不幸的是,PhantomJS网页中的ajax-Requests有超时30秒。
我一直在尝试在timeout
- 设置中设置$.ajax
属性。不幸的是,这似乎完全被忽略了。同样如下:
$.ajaxSetup({
timeout: 120000
});
然后是ExtJS框架扩展。遗憾的是,Ext
在PhantomJS WebPage中未定义。所以这不起作用。
有什么建议吗?
答案 0 :(得分:2)
由于$.ajaxSetup
设置默认值,因此不能用于覆盖现有的"设置"或ajax
设置timeout
的请求。看来,您可以使用$.ajaxPrefilter
覆盖。
根据评论,这必须在页面加载之前完成。我假设在触发DOMContentLoaded时尚未发送第一个ajax请求。
page.onLoadStarted = function(){
page.evaluate(function(){
document.addEventListener('DOMContentLoaded', function(){
$.ajaxPrefilter(function( options, originalOptions, jqXHR ) {
options.timeout = 120000;
});
}, true);
});
};