Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Нужна помощь XMLHttpRequest (https://javascript.ru/forum/misc/34213-nuzhna-pomoshh-xmlhttprequest.html)

INStorm 24.12.2012 17:33

Нужна помощь XMLHttpRequest
 
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Документ без названия</title>
</head>
<body>
 <a href="" onclick="newContent('newcontent.html','target')">test</a>
<div id="target"></div>
</body>
</html>


function newContent(link,target) {
/*
link - URL адрес подгружаемой страницы
target - DIV в который мы подгружаем контент
*/
var contaner = document.getElementById(target);

contaner.innerHTML = 'Загрузка ...';

var resource = getRequest();
if( resource )
{
resource.open('get',link);
resource.onreadystatechange = function ()
{
/*Получаем значение, указывающее текущее состояние элемента управления*/
if(resource.readyState == 4)
{
contaner.innerHTML = resource.responseText;
}
}
resource.send(null);
}
else
{
document.location = link;
}
}
/* Функция для получения метода для работы с браузерами */
function getRequest(){
try { return new XMLHttpRequest() }
catch(e)
{
try { return new ActiveXObject('Msxml2.XMLHTTP') }
catch(e)
{
try { return new ActiveXObject('Microsoft.XMLHTTP') }
catch(e) { return null; }
}
}
}



Где ОШИБКА ???

ivan.pshenicyn 24.12.2012 17:36

будьте так любезны,
"4. Используйте bb-таги для оформления кода. Например, javascript-код пишите внутри [ js ] ... [ /js ]."

P.S.
рискну предположить, у Вас перезагружается страница при клике на ссылку? это потому, что в онклик нужно добавить return false

godofjavascript 24.12.2012 17:41

Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

INStorm 24.12.2012 17:56

Так хорошо ?

ivan.pshenicyn 24.12.2012 17:59

гуд.
return false добавили?

и если все плохо, опишите симптомы - что не работает и что говорит

INStorm 24.12.2012 18:04

Нужно организовать погрузку информации в DIV без перезагрузки всей страницы Нашел данный скрипт в Интернете. return false где можно добавить чтобы посмотреть результат ошибки !!!

ivan.pshenicyn 24.12.2012 18:19

Вы объясните что у Вас не работает, как не работает? вообще ничего не происходит, страница перезагружается, иль как то еще?

но сначала, замените
onclick="newContent('newcontent.html','target')"

на
onclick="newContent('newcontent.html','target'); return false"


и проверьте. у меня работает.

INStorm 24.12.2012 18:23

Да все работает. Все вставил return false и все ! А можно комментарий по ошибке плиз..

ivan.pshenicyn 24.12.2012 18:31

ошибки как таковой не было, имела место маленькая недоработка.
у Вас все работало, но Вы не имели возможности этого увидеть, потому что осуществлялся переход по ссылке. все логично - вы нажимаете по ссылке, вы по ней переходите. чтобы этого не происходило, срабатывание стандартного действия при клике по ссылке нужно подавлять. Это и делает "return false". Если действие в onclick возвращает (return) false, то перехода не происходит. Можно добавить return false в самый конец функции newContent, результат будет такой же

INStorm 24.12.2012 18:37

ivan.pshenicyn,
Огромное спасибо за помощь. И еще вопрос если Вам не сложно. А как можно организовать подгрузку данных не с HTML а sql базы ?


Часовой пояс GMT +3, время: 17:21.