![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| tikitiki |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 330 Регистрация: 10.5.2005 Репутация: нет Всего: нет |
Извиняюсь. небольшой вопрос. У меня заложена в коде проверка статуса и выдаётся сообщение, что статус равен нулю. Т.е. если статус ответа равен 200, то выполняем какие-то действия, а иначе-выводим чему равен статус. Вот мне и выводит, что статус равен нулю. Как мне это расценивать? Куда копать? Вот код:
Это означает, что возвращаемый ответ сервера php скриптом какой-то не нормальный вид имеет? Не данные и html возвращает ожидаемые? Или это значит может, что этот скрипт ничего не возвращает? Или это ещё какая-то ошибка? Я сам немного запутался в поиске ошибки. Проверял код-особо ничего странного не нахожу. Благодарю заранее за помощь. |
|||
|
||||
| tikitiki |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 330 Регистрация: 10.5.2005 Репутация: нет Всего: нет |
Буду рад любым предложениям. Т.к. в коде не нахожу никаких ошибок. Проверял в firefox последней версии-ошибка в нём выскакивает.
|
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 84 Всего: 386 |
а сам request куда-нибудь посылался?
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| tikitiki |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 330 Регистрация: 10.5.2005 Репутация: нет Всего: нет |
ksnk, вот как запрос отправляется.
Вот это функция, формирующая объект запроса.
В первом куске кода или где-то пробовал менять условие перед алерт. Выдало сообщение. Сделал вывод, что request скорее всего создался. Добавлено через 5 минут и 58 секунд ksnk, я забыл сказать. Запрос отправляется. request.readyState == 4 это условие не выполнилось бы (а оно выполнилось, если посмотреть в самом начале поста и самый верхний кусок кода) видимо без отправки запроса. |
||||
|
|||||
| tikitiki |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 330 Регистрация: 10.5.2005 Репутация: нет Всего: нет |
Ещё хочу сказать. Сразу не сообразил спросить. Меня в данном вопросе с запросом больше всего смущает одна деталь: на некоторых сайтах пишут, что при создании запроса серверу в ajax надо делать задержки, например для того, чтоб пользователь не обновлял страницу раньше времени.
Похоже ещё описывают какие-то задержки-не успел прочитать внимательно. Может я упустил какую-то задержку сделать для того, чтоб сервер успел отправить ответ в ajax? Но прошу учесть, что запрос у меня простой, обращается по-обычному к бд и просто требует вернуть данные из бд с html. Ничего сложного. Значит зачем задержки? Правильно я рассуждаю? |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 84 Всего: 386 |
Не понял про задержки... тот кусок текста, котоый в первом посте находится в функции updatepage?
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| tikitiki |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 330 Регистрация: 10.5.2005 Репутация: нет Всего: нет |
Да. В самом верху. Иногда создают на страницах с ajax такие штуки, которые пишут юзеру: "Подождите. Идёт загрузка". Скорее для того, чтоб он не обновлял раньше времени страницу и ничего вообще не трогал. Видимо подразумевается здесь, что и обработчики все ajax загрузиться бы должны успеть, т.к. они загружаются обычно на onload в body, т.е. только когда вся страница загрузится. Я и подумал-может у меня что-то подобное происходит и как-то не успевает ответ сервера прийти и его надо как-то подождать. Хотя нелепое предположение вообще по смыслу ) А вообще где ошибка никак понять не могу до сих пор. |
|||
|
||||
| tikitiki |
|
||||||||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 330 Регистрация: 10.5.2005 Репутация: нет Всего: нет |
Оказывается я с ajax не всё понял. Вот здесь тест я проделал. И есть кое-какие результаты. Тест делает почти то, что я хотел, но не совсем. И кроме того есть странности, от которых я не могу избавиться. Я хотел, чтоб на странице была одна ссылка, при клике на которую выводилось приветствие на англ. от ajax в окне через алерт и это приветствие замещало ссылку на странице. Серверный скрипт делает только то, что выводит это приветствие. Местами я для проверки выводил некоторые значения с помощью алерт.
Вот первый скрипт index.php. В нём идёт основная работа.
Вот второй скрипт twoindex.php. Он находится в той же папке локально с первым скриптом. Это можно сказать скрипт на серверной стороне.
Когда я в онлайн запустил, то получил такие ответы последовательно:
И в самом конце появляется опять сама ссылка, что я не ожидал и понять не могу. Тестировал несколько раз. Ответы такие же точно повторяются. В начале тестов всегда страницу index.php обновлял. Здесь с одной стороны многое понятно. Но не ясно почему сообщения "request opened" и "Hello from ajax!!!" два раза повторяются. Должны один раз. Ссылка в конце появляется как я сказал-тоже непонятно. В целом почти нормально и казалось бы надо для полностью нормальной работы скрипта просто поубирать вывод тестовых сообщений (алертов), но когда я убираю из кода строку
, то работа теста портится и он выдаёт только сообщения
После опять появляется ссылка. При этом судя по сообщениям ответ сервера сильно искажается, т.е. нет приветствия от ajax и ошибки другие. Но что здесь с ответом происходит я на самом деле не знаю. Насчёт какое условие надо использовать для правильности на месте вот этого
тоже никак не пойму. Меня интересует как правильно сделать данный тест, чтоб он просто делал то, что я хотел от него. Что я хотел от него-это я выше написал. Помогите разобраться, будьте так добры. |
||||||||||||
|
|||||||||||||
| tikitiki |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 330 Регистрация: 10.5.2005 Репутация: нет Всего: нет |
Проверил код, подобный последнему тесту, на хостинге. Проверял в файрфокс той же версии. Скрипт делает почти то, что нужно, но сейчас сообщения не выводятся вспомогательные тестовые с помощью алертов. Почему? непонятно.
И самое главное - я не пойму теперь отправляются ли запросы серверу с помощью ajax на самом деле или нет. Дело в том, что у меня часть кода скрипта выполняет работу (вывод ссылок на странице) с помощью ajax, а часть - просто с помощью обычного php. Это происходит в одном скрипте. На странице, создаваемой этим скриптом, присутствуют в основном только ссылки, при кликах на которые должны выводиться другие ссылки с помощью ajax или php. Я пробовал разобраться где и что происходит. Разобрался, но все равно при работе скрипта сложно определить-то ли при кликах на ссылках выполняется запрос ajax, то ли обычный php. Помогите хоть немного, кто знает что подсказать. |
|||
|
||||
| 12345c |
|
|||
![]() Круглый ![]() ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 2018 Регистрация: 26.12.2005 Где: наша не пропадала ? Репутация: 57 Всего: 101 |
А со статусом =0 разобрались? У меня он появлялся, если УРЛ был локальным файлом. -------------------- Google Code Playground - онлайн-отладка своих примеров HTML+JS без регистрации, с сохранением по URL, без кириллицы. Go |
|||
|
||||
| tikitiki |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 330 Регистрация: 10.5.2005 Репутация: нет Всего: нет |
Хорошо. попробую.
У меня тоже появлялся, если урл был локальным. На хостинге не появляется. Но на хостинге вообще не выводит сообщений тестовых посредством алерт и приходится гадать почему они не выводятся. При чём не выводятся сообщения эти в разных местах. Впечатление, что вообще запрос ajax не формируется, не идёт на сервер и не возвращается. Но я сейчас кажись нашёл ошибку всего этого. Пока проверяю. |
||||
|
|||||
| tikitiki |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 330 Регистрация: 10.5.2005 Репутация: нет Всего: нет |
Теперь ошибки исправил. На самом деле в коде были ошибки значительные-не доглядел.
Нормально на хостинге работает. На onreadystatechange вешал алерт с сообщением обычным-работает. Но вот статус =0 всё равно выдаёт ошибку. И файрфокс при этом говорит об исключении и указывает на строку, которая должна вызывать сообщение об этой ошибке. Таким образом я делаю вывод, что у меня статус =200 не настаёт никогда. При статусе=200 я вывожу в коде сообщение тестовое, но оно не выводится. Что дальше делать-не пойму. |
|||
|
||||
| tikitiki |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 330 Регистрация: 10.5.2005 Репутация: нет Всего: нет |
Инспектор DOM для firefox может помочь в этом вопросе? И как его поставить? Там же написано на сайте файрфокса официальном, что он не поддерживает номер версии последний.
|
|||
|
||||
| tikitiki |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 330 Регистрация: 10.5.2005 Репутация: нет Всего: нет |
А ie теперь в отличие выдаёт ошибку создания объекта запроса
А это ещё почему такая ошибка? |
|||
|
||||
| tikitiki |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 330 Регистрация: 10.5.2005 Репутация: нет Всего: нет |
Я кажется добился кое каких результатов. Заменил функцию создания объекта запроса на другую. И наконец дождался от сервера того ответа, что хотел.
на
То же самое для firefox не проходит. Пустой ответ приходит от сервера. Даёт ошибку status=0 (а ie6 в данном случае выдает status=404). Пробовал методом тыка в firefox даже такое условие
При этом почти делается то, что нужно, но пустой ответ приходит от сервера (я ответ вывожу через алерт). Вопрос: как в файрфокс 3.0.5 условие сделать, чтоб как в ie6 результат получился? |
||||||
|
|||||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |