Обнавление страницы

 
0
 
JavaScript
ava
Areostar | 26.11.2011, 01:01
начал изучать AJAX. в хедр страницы вставил такой код:


function getBoardChildren()
{
createRequest();
var url = "childrenBoard.php";
request.open("GET", url, true);
request.onreadystatechange = updatePage;
request.send(null);
}

function updatePage()
{
var newValue = request.responseText;
responseText(main_tablo, newValue);
}


браузер ругается на последную строку пишет что инфа ну доступна пока, заменил строку на
alert('newValue'); Появляется, и инфо там та что надо!

что надо поправить или добавить что б работало как положенно?
Kommentare (10)
ava
Areostar | 26.11.2011, 09:06 #
Заменил на:


function updatePage() {
if (request.readyState == 4) {
if(request.status == 200) {
var newValue = request.responseText;
responseText(main_tablo, newValue);
}
}
}


Всё равно ругается на responseText(main_tablo, newValue);
пишет Object Expected
ava
ksnk | 26.11.2011, 11:25 #
Что за функция такая responseText/ Откуда взялась? Каким образом изучается AJAX? Может в книжке что погано написано?
ava
$дмитрий | 26.11.2011, 11:32 #
Вытащил со старого проекта

function createObject()
{
var request = null;
try {
request = new ActiveXObject('Msxml2.XMLHTTP');
} catch (e){}
if(!request) try {
request = new ActiveXObject('Microsoft.XMLHTTP');
} catch (e){}
if(!request) try {
request = new XMLHttpRequest();
} catch (e){}
return request;
}

function serverRequest(url, data, method, callback)
{
var request = createObject();
if(!request) return false;
request.onreadystatechange = function() {
if(request.readyState == 4 && request.status == 200) {
eval(callback+"("+request.responseText+")");
return true;
}
}
if(method == 'post') {
request.open('POST', url, true);
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
request.setRequestHeader("Content-length", data.length);
request.setRequestHeader("Connection", "close");
request.send(data);
} else {
request.open('GET', url+'?'+data, true);
request.send(null);
}
return true;
}
ava
ksnk | 26.11.2011, 11:41 #
Цитата ($дмитрий @ 26.11.2011, 11:32 findReferencedText)
 eval(callback+"("+request.responseText+")");

smile

Не все старые проекты следует показывать народу smile
ava
Areostar | 26.11.2011, 12:21 #
Какой мануал нащёл от туда и капировал

Знаете что лучше почитать дайте ссылку плиз smile

Сейчаспопробую то что вы советуете!
ava
ksnk | 26.11.2011, 12:30 #
В прикрепленных темах есть список книг.
1
2
ava
Areostar | 26.11.2011, 12:30 #
$дмитрий,

а как в вашем примере обновлять страницу! как указать куда втавить ответ?
ava
$дмитрий | 26.11.2011, 15:59 #
Areostar

serverRequest('test.php', '', 'get', 'myFunction');
function myFunction(data)
{
alert(data);
}


Цитата


Не все старые проекты следует показывать народу


При чем тут конкретная реализация? Автору сейчас главное понять принцип получения/отправки информации. Принцип я показал, а как он применит на практике новые знания мне совершенно параллельно
ava
ksnk | 26.11.2011, 20:40 #
Цитата ($дмитрий @ 26.11.2011, 15:59 findReferencedText)
При чем тут конкретная реализация?

Конкретная реализация при том, что в этом случае от сервера будет требоваться специфически оформленный вывод - все строки в кавычках. Хотя, стандартный json-вывод в принципе, подойдет.
Сallback функция обязательно должна быть описана как функция с именем, и не может быть анонимной.
Это не говоря уже про eval...
ava
$дмитрий | 26.11.2011, 21:16 #
ksnk, пусть пишет как хочет, главное чтоб понял идею
Registrieren Sie sich oder melden Sie sich an, um schreiben zu können.
Unternehmen des Tages
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Mitwirkende
advanced
Absenden