powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / AJAX / Custom function / do not rerender page
6 сообщений из 6, страница 1 из 1
AJAX / Custom function / do not rerender page
    #38712599
alex021
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ДОбрый день пишу собственную функцию, которая будет подгружать на страницу контент с помощью технологии ajax.
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
window.onload = function() {
    var intervalID = setInterval(function() {
        var updateNewsListVar = updateNewsList();

    }, 5000);
}
function updateNewsList() {
    var req = getXmlHttp()
    req.onreadystatechange = function() {
        if (req.readyState == 4) {
            if (req.status == 200) {
                console.log("Ответ сервера: " + req.responseText);//выводит страницу учитывающую изменения приходящие с сервера
                req.responseText;
            }
        }
    }
    var url = "/MyApp/faces/jsf/newsList.xhtml";
    req.open('GET', url, true);
    req.send(null);  
}
function getXmlHttp() {
    var xmlhttp;
    try {
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
        try {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (E) {
            xmlhttp = false;
        }
    }
    if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
        xmlhttp = new XMLHttpRequest();
    }
    return xmlhttp;
}


Проблема заключается в том что в лог выводит страницу учитывающую изменения приходящие с сервера. а в браузере не отрисовывает ничего. Понимаю, что я где-то ,наверное что-то не учел, но что -не знаю.
За тыканье носом буду благодарен.
...
Рейтинг: 0 / 0
AJAX / Custom function / do not rerender page
    #38712609
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
AJAX / Custom function / do not rerender page
    #38712610
Фотография user89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex021,

в этом фрагменте вместо req.responseText; попробуйте что-то типа
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
    req.onreadystatechange = function() {
        if (req.readyState == 4) {
            if (req.status == 200) {
                console.log("Ответ сервера: " + req.responseText);//выводит страницу учитывающую изменения приходящие с сервера
           MyDiv.innerHTML = req.responseText;
            }
        }
    }
...
Рейтинг: 0 / 0
AJAX / Custom function / do not rerender page
    #38712636
alex021
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
user89,skyANA

спасибо)
получилось что-то вроде
Код: javascript
1.
2.
3.
4.
5.
6.
7.
...
           if (req.status == 200) {
                console.log("Ответ сервера: " + req.responseText);
                document.getElementById('myId').innerHTML = req.responseText;

            }
            ...


только получается, что вместо этого элемента "myId" рисуется полностью новая страница (получается страница в странице). что не хорошо=) можно ли как-то отправить на перерисовку именно тот элемент который я хочу , а не всю страницу вызовом метода "req.responseText" ?
...
Рейтинг: 0 / 0
AJAX / Custom function / do not rerender page
    #38712642
alex021
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
решил проблему
вот так
Код: javascript
1.
2.
3.
doument.open;
document.write(req.rrsponseText);
document.close();


нокакто мне кажется что это все равно не совсем грамотно.
фича ajax же втом что он погружаетонтент неперерисовывая полносью сраницу , а только часть ее. или я ошибаюсь? подскате,знающие, пожалуцста!
...
Рейтинг: 0 / 0
AJAX / Custom function / do not rerender page
    #38712684
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex021, по ссылке выше много чего полезного для Вас написано.
Например, если нажать Previous, то Вы перейдёте на страницу: AJAX Introduction , - где написаноWhat is AJAX?AJAX allows web pages to be updated asynchronously by exchanging small amounts of data with the server behind the scenes . This means that it is possible to update parts of a web page, without reloading the whole page .
Если Вы пишите "собственную функцию, которая будет подгружать на страницу контент с помощью технологии ajax" чисто ради изучения, то придумайте задачу, когда надо подгружать небольшую порцию данных и обновлять только ту часть страницы, где эти данные должны быть показаны пользователю.
Всю страницу запрашивать посредством AJAX смысла не вижу.

Если же Вам нужно решить какую-то конкретную задачу, то посмотрите в сторону iframe .
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / AJAX / Custom function / do not rerender page
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]