forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Болтовня (http://forum.boolean.name/forumdisplay.php?f=25)
-   -   AJAX почему-то не работает (http://forum.boolean.name/showthread.php?t=9798)

zheland 07.11.2009 20:56

AJAX почему-то не работает
 
Решил я создавать свой сайт с помощью AJAX. :)

Скачал XAMPP и работаю.
Захотел посмотреть, будет-ли сайт работать в интернете.
Зарегистрировал домен, хостинг, перегнал все файлы,
Но AJAX(ну и в итоге весь сайт) на сайте не работает... :(

1) Почему?
2) Как можно это исправить?

jimon 07.11.2009 21:29

Ответ: AJAX почему-то не работает
 
Решил я купить свой комп с Windows. :)

Купил комп и работаю.
Захотел посмотреть, будет-ли комп работать с Windows.
Включил комп, установил Windows,
Но Windows(ну и в итоге весь комп) на компе не работает... :(

1) Почему?
2) Как можно это исправить?

ps. телепаты в отпуске

zheland 07.11.2009 21:43

Ответ: AJAX почему-то не работает
 
Работает на localhost.
Не работает на domain.com, с тем-же кодом.
Я сам не знаю причин...
код обычный как в любый примерах на AJAX...
Хостинг — бесплатный...

Шуранов 09.11.2009 09:55

Ответ: AJAX почему-то не работает
 
Может быть код все-же выложишь? Причин, почему он может не работать тьма.

SBJoker 09.11.2009 10:24

Ответ: AJAX почему-то не работает
 
Бесплатный хостинг и есть ответ... нет там поддержки AJAX вот и всё...

jimon 09.11.2009 11:14

Ответ: AJAX почему-то не работает
 
SBJoker
AJAX это не технология, это техника, не понятно к каким технологиям drunnik применял её, может на бесплатном сервере вообще php и perl нету ? :)

SBJoker 09.11.2009 11:20

Ответ: AJAX почему-то не работает
 
Дык а я о чём... онож должно поддерживатьсо сервером.

zheland 09.11.2009 21:11

Ответ: AJAX почему-то не работает
 
AJAX читает страницу сервера,
и возвращает её клиенту,
при чём здесь PHP.
Разве нельзя просто прочитать любую страницу?
PHP конечно есть на моём сервере.
Но вроде AJAX'у нужен только обозреватель,
JavaScript и требуемая страница...
Почему он не может прочитать интернет страницы...

Вот неработающий пример чтения кода Google.com:
Код:

<html>
<head>
<title>test</title>
</head>
<body>
<b>read http://www.google.com:</b><br/><hr/>
<script type="text/javascript">
var        _v;
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();}
xmlhttp.open('POST', 'http://www.google.ru', false);
// но он читает http://127.0.0.1/...
xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xmlhttp.send();
_v = xmlhttp.responseText;
_v=(((_v.replace(/</g,'&#060')).replace(/>/g,'&#062')) + ' ');
_v=(_v.replace(/\n/g,'<br/>'));
document.write(_v);
</script>
</body>
</html>

Как сделать его рабочим?

Почему localhost он читает,
а google, yandex, ... — не читает?

Tadeus 09.11.2009 21:12

Ответ: AJAX почему-то не работает
 
На бесплатных хостингах часто блокируют доступ к другим сайтам.

Шуранов 10.11.2009 14:06

Ответ: AJAX почему-то не работает
 
Цитата:

Сообщение от Tadeus (Сообщение 123975)
На бесплатных хостингах часто блокируют доступ к другим сайтам.

Это писец :-D И это изречение применимо к коду? :"( Читать внимательно - код исполняется на клиентской стороне.
ТС, чистый ajax здесь ничего не сделает, вам ACD нужен: http://www.ajax-cross-domain.com/

Tadeus 10.11.2009 14:31

Ответ: AJAX почему-то не работает
 
Цитата:

Сообщение от Шуранов (Сообщение 124092)
Это писец :-D И это изречение применимо к коду? :"( Читать внимательно - код исполняется на клиентской стороне.
ТС, чистый ajax здесь ничего не сделает, вам ACD нужен: http://www.ajax-cross-domain.com/

Ну, это как если говорить всем решение проблемы в компе "вырубить и врубить снова" и заниматься детальным анализом только, если это не поможет )

Шуранов 10.11.2009 14:35

Ответ: AJAX почему-то не работает
 
Deleted

Randomize 10.11.2009 18:14

Ответ: AJAX почему-то не работает
 
Ссылку дай на сайт(или на хостинг), сразу получишь ответ.
AJAX - технология, работающая на стороне клиента и она не имеет отношения ни к php ни к хостингу, а только к браузеру клиента (держит ли он вобще хотябы одну из техник для релаизации аякса )

Шуранов 10.11.2009 18:38

Ответ: AJAX почему-то не работает
 
Цитата:

Сообщение от Randomize (Сообщение 124110)
Ссылку дай на сайт(или на хостинг), сразу получишь ответ.
AJAX - технология, работающая на стороне клиента и она не имеет отношения ни к php ни к хостингу, а только к браузеру клиента (держит ли он вобще хотябы одну из техник для релаизации аякса )

Верно, на причину неработающего скрипта, я указал выше и даже дал ссылку, для того, чтобы сделать скрипт работающим. Ссылка тут нафиг не нужна :)
А насчет браузеров, то они, на сегодняшний день, практически поголовно, поддерживают Ajax.

zheland 10.11.2009 19:05

Ответ: AJAX почему-то не работает
 
А как сервер отличает
прямой запрос страницы обозревателя,
от запроса через AJAX обозревателя?

Как я понял дело в заголовках...
Или нет?

Цитата:

Сообщение от Шуранов (Сообщение 124092)
ТС, чистый ajax здесь ничего не сделает, вам ACD нужен: http://www.ajax-cross-domain.com/

А для чего вообще нужен AJAX?
И где на этом сайте динамическая загрузка?
Там просто переход на другую страницу,
Которая выполняет формирование на самом сервере...

Делаю сайт с динамической загрузкой страниц...
Код:

xmlhttp.open('POST', 'http://example.pp.ru/structure.xml', false);

Randomize 10.11.2009 19:18

Ответ: AJAX почему-то не работает
 
Цитата:

А как сервер отличает
прямой запрос страницы обозревателя,
от запроса через AJAX обозревателя?
Headers. Заголовки.

Цитата:

А для чего вообще нужен AJAX?
Динамическая подгрузка/загрузка данных без перезагрузки страницы

Цитата:

И где на этом сайте динамическая загрузка?
У тебя динамическая страница. Динамическая страница это в данном случае страница с AJAX (а не подгружаемая).

Цитата:

Там просто переход на другую страницу,
Которая выполняет формирование на самом сервере...
Чё O_o
Где? Ты о чём? На сервере где xml?
Всё что я понял:
Тебе нужно со своей страницы аяксом извлечь xml c другого домена.
Для этого на php пишется скажем так "прокси", который сам забирает страницу и с него твой аякс тянет инфу.

Шуранов 10.11.2009 19:48

Ответ: AJAX почему-то не работает
 
Могу обрадовать, сервер никак не отличает обычные запросы браузера, от запросов XMLHttpRequest. Есть дополнительное поле, отсылаемое браузером, но оно никак не учитывается.

ajax используется как для создания небольшой динамической подгрузки данных, без перезагрузки страницы, так и при создании "толстых" клиентов, когда почти вся страница состоит из динамического контента, обновляемого либо циклически, либо по запросу пользователя, либо комбинируя оба способа (пример - vkontakte.ru).

Сам ajax ограничивается не сервером, а браузером клиента, ограничивая запросы на сторонние хосты, а также ограничивая функциональные возможности скриптов. Пример: попробуйте скриптом обратиться к содержимому фрейма, если в нем загружена страница не с вашего хоста, браузер не позволит вам этого сделать.

Еще раз повторю, ACD ваш выход, если вы хотите юзать AJAX подзагрузку данных с других хостов.

Tadeus 10.11.2009 20:21

Ответ: AJAX почему-то не работает
 
Ой, сори, перепутал с сокетами малость :-D

Шуранов 10.11.2009 20:56

Ответ: AJAX почему-то не работает
 
Цитата:

Сообщение от Tadeus (Сообщение 124139)
Ой, сори, перепутал с сокетами малость :-D

:-D Может я чего упустил, но как чистые сокеты можно ограничить на хосте? Обычно хостеры закрывают настраиваемые плагины, где можно задать ограничение на соединение с определенными хостами, но чистые сокеты, вроде ж не ограничиваются?

Randomize 10.11.2009 23:57

Ответ: AJAX почему-то не работает
 
Обычно на хостингах запиливают
Цитата:

fsockopen, dl, shell_exec, exec, system, passthru, popen, proc_open, proc_nice, proc_get_status, proc_close, proc_terminate, posix_mkfifo, set_time_limit, chown, chgrp, disk_total_space, disk_free_space
По крайней мере на моём.
Это всё в phpinfo() есть

Tadeus 11.11.2009 00:08

Ответ: AJAX почему-то не работает
 
Цитата:

Сообщение от Шуранов (Сообщение 124144)
:-D Может я чего упустил, но как чистые сокеты можно ограничить на хосте? Обычно хостеры закрывают настраиваемые плагины, где можно задать ограничение на соединение с определенными хостами, но чистые сокеты, вроде ж не ограничиваются?

На моем (ho.ua) запилили :) Да на многих видел тож - чтоб не устраивали ереси :)

moka 11.11.2009 04:05

Ответ: AJAX почему-то не работает
 
Ты то просмотришь, но не перередактируешь настройки..

Шуранов 11.11.2009 11:32

Ответ: AJAX почему-то не работает
 
Гм, да, с паранойей, когда закрывают даже fsockopen я даже не сталкивался за весь богатый опыт общения с хостерами. Хм, вообще при конфигурации сокетов как-бы не помню возможности их отключить. Может просто модуль не устанавливается, это допущу, но чтобы была функция без возможности коннекта, это уж больно сурово. Так что, скорее всего, при сборке PHP просто опустили --enable-sockets. К ограничению сокетов это не относится, что и вызвало мое удивление.

Tadeus 11.11.2009 12:44

Ответ: AJAX почему-то не работает
 
Ну, на сайте-то у моего можно лицезреть это:
Цитата:

  • Желающим установить прокси: не старайтесь - все исходящие соединения закрыты.


Шуранов 11.11.2009 13:30

Ответ: AJAX почему-то не работает
 
Цитата:

Сообщение от Tadeus (Сообщение 124203)
Ну, на сайте-то у моего можно лицезреть это:

От таких хостеров лучше уезжать. Вообще в русскоязычном сегменте хостеров оптимально брать хостинг по цене выше средней, при условии существовании хостера на рынке более 4-5 лет. В остальных случаях проблемы будут либо с ограничениями, либо с аптаймами (известный в свое время slavhost), либо с баном IP адресов на различных ресурсах. Так недавно столкнулся с тем, что выданный IP адрес, находился в бане у Yandex-каталога, который мне нужно было с некоторой периодичностью парсить. Решилось только добавлением второго IP. Так что не гонитесь за дешевизной, для основных ресурсов использовать лучше хостинг в ценовой категории от 30$ в месяц, лучше VPS, т.к. некоторые хостеры урезают доступ к shared хостингам, при превышении нагрузки, с VPS таких проблем нет.

Посмтрел я на http://www.ho.ua/ - это ваш хостер?
Это в юмор:
"Использование следующих CMS запрещено: Invision Power Board, PHP-Nuke, Pure CMS, Shop-Script PREMIUM, TYPO3, Shopping cart program by Zen. Для Joomla запрещено использовать модули для построения фотогалерей и Интернет-магазинов, для e107 также запрещены модули для фотогалерей.
Допускается, но не рекомендуется использовать: GuppY, vBulletin.
Они создают большую нагрузку на процессор, из-за чего Ваш сайт может быть закрыт без предупреждения."

Убило, честно говоря :)

zheland 12.11.2009 00:50

Ответ: AJAX почему-то не работает
 
Нашёл проблему:
Код:

xmlhttp.status=405;
xmlhttp.statusText='Method Not Allowed';

Он почему-то не поддерживает метод POST. :(
Ну хотя-бы GET работает. :)
Это как так? :dontknow:

NitE 12.11.2009 00:56

Ответ: AJAX почему-то не работает
 
только чтение.

Tadeus 12.11.2009 03:25

Ответ: AJAX почему-то не работает
 
Цитата:

Сообщение от Шуранов (Сообщение 124206)
От таких хостеров лучше уезжать. Вообще в русскоязычном сегменте хостеров оптимально брать хостинг по цене выше средней, при условии существовании хостера на рынке более 4-5 лет. В остальных случаях проблемы будут либо с ограничениями, либо с аптаймами (известный в свое время slavhost), либо с баном IP адресов на различных ресурсах. Так недавно столкнулся с тем, что выданный IP адрес, находился в бане у Yandex-каталога, который мне нужно было с некоторой периодичностью парсить. Решилось только добавлением второго IP. Так что не гонитесь за дешевизной, для основных ресурсов использовать лучше хостинг в ценовой категории от 30$ в месяц, лучше VPS, т.к. некоторые хостеры урезают доступ к shared хостингам, при превышении нагрузки, с VPS таких проблем нет.

Посмтрел я на http://www.ho.ua/ - это ваш хостер?
Это в юмор:
"Использование следующих CMS запрещено: Invision Power Board, PHP-Nuke, Pure CMS, Shop-Script PREMIUM, TYPO3, Shopping cart program by Zen. Для Joomla запрещено использовать модули для построения фотогалерей и Интернет-магазинов, для e107 также запрещены модули для фотогалерей.
Допускается, но не рекомендуется использовать: GuppY, vBulletin.
Они создают большую нагрузку на процессор, из-за чего Ваш сайт может быть закрыт без предупреждения."

Убило, честно говоря :)

Ну, это бесплатный хостинг. На платном что хочешь делай :)
Я другой не ищу уже, на этом осел, всё пока устраивает

SBJoker 12.11.2009 10:51

Ответ: AJAX почему-то не работает
 
Ну а что вы хотели, бесплатный хостинг он для хомяков и всякой лабуды, для более серьёзного есть платные там где стабильность и качество обеспечиваются твоими деньгами а не разношерстной рекламой на каждой странице.


Часовой пояс GMT +4, время: 06:47.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot