2009-06-30 1 views
0

Возможно ли связывать и обновлять данные на странице без перезагрузки, но без использования объекта XMLHttpRequest И совместно использовать одно и то же соединение или сокет (так, не закрывая соединение для каждого запроса)?Ajax с использованием JS, но без XMLhttp И с использованием одного и того же сокета каждый раз?

+0

Вопрос возникает из-за того, что я использую встроенный модуль EZurio WiFi, и, похоже, он имеет утечку памяти в своей прошивке, потому что после примерно 2300 сообщений ajax, созданных клиентом с использованием XMLHttpRequest, он выходит из строя и выдает ошибку Malloc Fail. Поэтому в качестве обходного пути я думал об использовании одного и того же сокета для всех сообщений ajax. – apalopohapa

ответ

0

No.

Вы можете изменить содержимое на странице с только Javascript, поэтому если вы хотите содержимого с сервера, вы будете иметь, чтобы использовать объект XMLHttpRequest.


Редактировать: Глядя на ссылку выше о «длинном» опросе

Моих изменениях ответа в зависимости от того, что вы имеете в виду. Вы имеете в виду, что вы не хотите использовать объект XMLHttpRequest на любом уровне? Или вы имеете в виду, что вы не хотите использовать необработанный объект XMLHttpRequest.

Потому что в конце jQuery будет использоваться объект XMLHttpRequest. Однако, если вы просто не хотите иметь дело с необработанным объектом, вы можете использовать что-то вроде jQuery.


Глядя на ответ выше:

Хорошо, я понимаю, что вы говорите ... Однако страница, которую вы ссылаетесь говорят о чем-то совсем другое.

+0

Привет. Ну, возникает вопрос, потому что я использую встроенный модуль EZurio WiFi и, похоже, имеет утечку памяти в своей прошивке, потому что после примерно 2300 сообщений ajax, созданных клиентом с использованием XMLHttpRequest, он выходит из строя и выдает ошибку Malloc Fail. Поэтому в качестве обходного пути я думал об использовании одного и того же сокета для всех сообщений ajax. – apalopohapa

+0

Вы правы - страница, с которой я связан, открывала новый XMLHttpRequest каждый раз, когда сервер имел что сказать. Я удалил ссылку. – RichieHindle

1

Сделайте свой сервер отправкой «страницы», которая является обычным HTML, за которой следует серия тегов <script>, которые медленно выводятся с течением времени. Все это работает над одним сокетом, который доставил HTML-страницу.

Вы не можете связаться с клиентом на сервере таким образом - вам нужно будет делать новый запрос на сервер каждый раз, когда вы это делаете, но с HTTP 1.1, который будет повторно использовать один и тот же сокет каждый раз в любом случае ,