Помогите с AJAX-ом плиз.

12
malls
На сайте с 08.08.2005
Offline
255
1374

На сервере:

<?php


header("Content-type: text/html; charset=windows-1251");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);

echo "Hello world";

?>

В HTML:

var request;


function doLoad(url) {
if (window.XMLHttpRequest) { // для лис и пр.
request = new XMLHttpRequest();
request.onreadystatechange = processRequestChange;
request.open("GET", url, true);
request.send(null);
} else if (window.ActiveXObject) { // для ослов
request = new ActiveXObject("Microsoft.XMLHTTP");
if (request) {
request.onreadystatechange = processRequestChange;
request.open("GET", url, true);
request.send();
}
}
}
doLoad("http://moy-server.com/script.php");

alert(request.responseText);

Не работает :(

Что делаю не так?

Bor-ka
На сайте с 16.11.2004
Offline
201
#1

malls,

поставьте FireBug в лису и посмотрите в ней запрос и ответ сервера.

Сервис полуавтоматического рерайта текста (http://topwriter.ru/)
Kolyaj
На сайте с 28.03.2006
Offline
69
#2

А где processRequestChange?

З.Ы. Если в request.open третьим аргументом передать false, то и в таком виде все будет работать, но браузер подвисать будет.

malls
На сайте с 08.08.2005
Offline
255
#3
Bor-ka:
malls, поставьте FireBug в лису и посмотрите в ней запрос и ответ сервера.

не кажет он ничего! :(

Kolyaj:
А где processRequestChange?

З.Ы. Если в request.open третьим аргументом передать false, то и в таком виде все будет работать, но браузер подвисать будет.

Kolyaj подробнее плиз. для человека первый раз пробующего Аякс!!! :)

Kolyaj
На сайте с 28.03.2006
Offline
69
#4
malls:
request.onreadystatechange = processRequestChange;

Где определение функции processRequestChange?

Brand from Amber
На сайте с 18.08.2007
Offline
291
#5

malls, попробуйте так - должно заработать...

var request; 

function doLoad(url) {
if (window.XMLHttpRequest) { // для лис и пр.
request = new XMLHttpRequest();
request.open("GET", url, false);
request.send(null);
} else if (window.ActiveXObject) { // для ослов
request = new ActiveXObject("Microsoft.XMLHTTP");
if (request) {
request.open("GET", url, false);
request.send();
}
}
}
doLoad("http://moy-server.com/script.php");

alert(request.responseText);
подробнее плиз. для человека первый раз пробующего Аякс

Похоже, Вы и JS впервые пробуете... АЯКС это всего лишь название того, что давно есть и чем многие пользовались ещё до того как это слово вошло в обиход. В первую очередь разберитесь с Java Script + с объектом XMLHttpRequest, тогда сами сможете писать все эти AJAX-ы. :)

Лучший способ понять что-то самому - объяснить это другому.
malls
На сайте с 08.08.2005
Offline
255
#6
Brand from Amber:
malls, попробуйте так - должно заработать...

не работает... это вы просто обработчик убрали... processRequestChange(). я его функцию эту в код забыл включить... только дело не в нем похоже.

Brand from Amber:

Похоже, Вы и JS впервые пробуете... АЯКС это всего лишь название того, что давно есть и чем многие пользовались ещё до того как это слово вошло в обиход. В первую очередь разберитесь с Java Script + с объектом XMLHttpRequest, тогда сами сможете писать все эти AJAX-ы. :)

Птичку нашу попрошу не обижать! :)

С XMLHttpRequest действительно впервые сталкиваюсь. Не работал с ним заразой...

ЗЫ: У меня в Осле почему то получается, а в Фоксе и Опере нет... А мне как раз в GreaseMonkey скрипт хочется его воткнуть...

Блин упарился ужо!

Помогите народ...

Надо чтобы был скрипт подключенный в Лисе через Greasemonkey, который бы зараза, при заходе на сервак номер один, подкачивал бы файло с сервера номер два, вот такое:

<?php

echo "hello";
?>

и выдавал бы это hello в виде алерта, т.е. через alert(request.responseText)

ну не получается у мну никак...

Brand from Amber
На сайте с 18.08.2007
Offline
291
#7
malls:
не работает...

Я очень редко пишу то, что перед написанием не проверяю, и, поверьте - этот случай не является исключением.

P.S. http://to.lcc.ru/1.html (Работает под Оперой, Ослом и Мозилой)

malls
На сайте с 08.08.2005
Offline
255
#8
Brand from Amber:
Я очень редко пишу то, что перед написанием не проверяю, и, поверьте - этот случай не является исключением.

P.S. http://to.lcc.ru/1.html (Работает под Оперой, Ослом и Мозилой)

Да верю!!!! но зараза не фурычит в виде GreaseMonkey... может в Лисе настройки какие надо поменять??? Так то оно работает... Т.е. когда грузишь страницу с серва 1 и подкачка идет оттуда же... А вот когда страница - серв 1, "подкачка" - серв 2 , а сам скрипт встроен - не хочет гадина! По крайней мере у меня...

Попробуйте плиз страницу http://to.lcc.ru/1.html из локалки запустить, как C://1.html, а обращение в ней к серваку делать, т.е. туда же: http://to.lcc.ru/

У меня кидает:

uncaught exception: Access to restricted URI denied (NS_ERROR_DOM_BAD_URI)

Причем пишет readyState = 0

Но из под GreaseMonkey такого не выдает - просто не работает, хотя и пишет: readyState = 4

Brand from Amber
На сайте с 18.08.2007
Offline
291
#9

Правильно... а я что вам написал - Учите JS! )))))

P.S. Не будет оно работать - безопасность понимаш...

P.P.S. под лисой (в соё время) можно было жёстко извращнуться для обхода... как сейчас не знаю.

malls
На сайте с 08.08.2005
Offline
255
#10
Brand from Amber:
Правильно... а я что вам написал - Учите JS! )))))

P.S. Не будет оно работать - безопасность понимаш...
P.P.S. под лисой (в соё время) можно было жёстко извращнуться для обхода... как сейчас не знаю.

Повторюсь:

из локалки: uncaught exception: Access to restricted URI denied (NS_ERROR_DOM_BAD_URI)

Причем пишет readyState = 0

Из под GreaseMonkey такого не выдает - просто не работает, хотя и пишет: readyState = 4

т.е. де-факто оно запрос выполняет - но не возвращает данных...

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий