[OPEN-1331] Extjs.Ajax (3.2.2) Leak
ExtJs version: 3.2.2
Overview:
I have a Javascript file that sends an AJAX request out to a server which hosts a PHP script that returns a random number. The returned AJAX value is written to a text field in a form and then the same request is sent to the server again. This process continues indefinitely.
Issue: Web browser Memory usage is constantly increasing.
Test results:
Oct 8, 2010 at 4:03PM memory usage reported by Windows Task Manager
FF: 27 016K
Chrome: 15 616K
IE 8: 26 368K
Oct 12, 2010 at 8:36AM memory usage reported by Windows Task Manager
FF: 64 220K
Chrome: 49 304K
IE 8: 47 268K
As of recording the 8:36AM, memory usage has increased slightly.
Tested Browsers: IE 8.0.7600.16385, Chrome 6.0.472.63, Firefox 3.6.10
PHP source code:
Code:
<?php
sleep(1);
echo "response ".time();
?>
HTML + JAVASCRIPT source:
Code:
<html>
<head>
<link rel="stylesheet" type="text/css" href="extjs/resources/css/ext-all.css"/>
<script type="text/javascript" src="extjs/adapter/ext/ext-base-debug.js"></script>
<script type="text/javascript" src="extjs/ext-all-debug.js"></script>
</head>
<body>
<script type="text/javascript">
Ext.onReady(function(){
var simple = new Ext.FormPanel({
labelWidth: 75, // label settings here cascade unless overridden
url:'save-form.php',
frame:true,
title: 'Simple Form',
bodyStyle:'padding:5px 5px 0',
width: 350,
defaults: {width: 230},
defaultType: 'textfield',
items: [
{
id: 'response_field',
fieldLabel: 'response',
name: 'response'
}
]
});
simple.render(document.body);
function makeRequest(){
Ext.Ajax.request({
url: 'router.php',
success: function(response, opts){
Ext.getCmp('response_field').setValue(response.responseText);
makeRequest();
},
failure: function(){
makeRequest();
},
params: {
foo: 'bar'
}
});
}
makeRequest();
});
</script>
</body>
</html>
Comment:
Is this a leak in the framework or is there something I can do to prevent the browser memory usage from constantly increasing?