我试图对一个需要很长时间才能加载的页面进行Ajax调用。我想等待数据加载,但firefox在两分钟后超时。在网络上,您可以找到屏幕截图中的设置,但它没有帮助(我已经重新启动了Firefox)。如何确保firefox(或任何其他浏览器)等待加载调用?
当然这只是一个临时解决方案,但我希望它现在可以使用。
答案 0 :(得分:1)
use the timeout, parameter while making ajax call
答案 1 :(得分:0)
维克拉姆是对的,它不是浏览器。这是在Angular。我不知道Angular所以我必须破解。我会告诉你我的黑客但不要使用它。将其视为寻找更好解决方案的暗示。此外,您可能不需要进行以下所有代码更改即可使用hack。
angular.js
function createHttpBackend($browser, createXhr, $browserDefer, callbacks, rawDocument) {
// TODO(vojta): fix the signature
return function(method, url, post, callback, headers, timeout, withCredentials, responseType) {
// DO NOT COMMIT :) (added line)
timeout = 5000001; // added line
$browser.$$incOutstandingRequestCount();
url = url || $browser.url();
....
function timeoutRequest() {
jsonpDone && jsonpDone();
xhr;// && xhr.abort();
}
app.js:
angular.module('MyApp', [])
.config(['$httpProvider', function($httpProvider) {
$httpProvider.defaults.timeout = 5000;
}]);
但另外,这个我的流浪汉机器的代理导致超时: https://github.com/drewzboto/grunt-connect-proxy
网络incoming.js
function timeout(req, res, options) {
// DO NOT COMMIT
req.socket.setTimeout(600000);
//if(options.timeout) {
// req.socket.setTimeout(options.timeout);
//}
},