| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > JSHttpRequest утечка памяти |
| Автор: Pavlik 10.4.2008, 17:17 |
| Приветствую! ... req.caching = false; req.open('GET', 'get_data.php', true); req.send({a:query}); //req.onreadystatechange = function() {...} Функцию по приему данных убрал. Как только делаю req.send({a:query}); съедаемая память увеличивается пропорционально объему данных, которые возвращает get_data.php. Поставил в get_data.php на выход пустой массив - память не ест. Такой запрос у меня каждые 10 с и со временем бразуер съедает память и начинает тормозить, проверял на IE,Opera,Mozilla. Может кто-нибудь сталкивался, как освободить память от принятых JSHttpRequest данных. Заранее благодарю! |
| Автор: IDVsbruck 10.4.2008, 23:28 |
| Syntax: XMLHttpRequest.send( [varBody]) Parameters: varBody - Optional. Variant that specifies the body of the message being sent with the request. Возможно, это и не поможет, но что это за конструкция: req.send({a:query});? Тип {a:query} - Object. Когда формируется запрос, то как, по-твоему, он должен быть представлен в теле сообщения? И как его должен словить сервер? |
| Автор: Pavlik 11.4.2008, 09:50 |
| Ассоциативные массивы в JavaScript создаются при помощи следующего синтаксиса: my_js_array = { key1: value1, key2: value2, ... } query - у меня просто строка, но ведь дело не в том как я отправляю запрос, с ним у меня проблем нет, сервер запрос принимает $JSHttpRequest = new JsHttpRequest("UTF-8"); $query=$_REQUEST['a']; .......... $_RESULT=$arr; Данные которые я возвращаю в $arr оседают в памяти, при следующем запросе эта память не высвобождается. |
| Автор: ksnk 11.4.2008, 11:24 |
| Pavlik, Так не бывает. Нужно привести более полный код, с клиентской стороны. IDVsbruck, Это jsHttpRequest, а не XMLHttpRequest, так что параметры передаются корректно. Pavlik, Ассоциативные массивы в JavaScript называются объектами. Обьекты в JavaScript сильно отличаются от массивов (Array), так что лучше сразу привыкать называть их правильно |