Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Не могу создать объект для отправки AJAX запроса на сервер

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Без описания
teddy
Отправлено: 23 Июля, 2013 - 18:19:31
Post Id


Участник


Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013  


Помог: 91 раз(а)




Добрый день. Почему-то не создается объект для отправки AJAX запроса на сервер. Скрипт очень простой, он принимает текущее время на сервере, которое отправляется при помощи кастомного HTTP заголовка. Заголовки на сервере проверял, всё отправляется корректно. Можете помочь мне решить эту проблему? Буду очень рад! А вот собственно сам код:

Универсальный способ создания объекта скопирован отсюда:
http://forum.php.su/topic.php?fo...29409#1290229409

Копировать сюда это не стал, дабы не загромождать кодом тему.
CODE (javascript):
скопировать код в буфер обмена
  1. var req = getXmlHttp();//предположим, что выше есть функция, описанная в ссылке, ее результат я сохраняю в переменную req, что бы получить объект.


Код отправки асинхронного AJAX запроса для получения данных:

Спойлер (Отобразить)

Содержимое файла timer.php:
PHP:
скопировать код в буфер обмена
  1. header("Content-type: " . "text/plain; charset=utf-8");
  2. header("Current-Time: ".date("H:i:s"));

output:
Цитата:

array(3) {
[0]=>
string(24) "X-Powered-By: PHP/5.3.13"
[1]=>
string(39) "Content-type: text/plain; charset=utf-8"
[2]=>
string(22) "Current-Time: 19:15:53"
}


CODE (html):
скопировать код в буфер обмена
  1. <div id="result">Loading...</div>

Как видно, заголовок со временем успешно отправляется. Тоесть должно меняться содержимое Loading... внутри div-a на живые часики, но этого не происходит потому, что не создается объект...

Сори если загрузил, кто может помогите пожалуйста Закатив глазки

(Отредактировано автором: 23 Июля, 2013 - 18:22:21)

 
 Top
esterio
Отправлено: 23 Июля, 2013 - 18:31:16
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




Зачем раз в секунду дергать скрипт ради часиков. Есть же Date - обьект для работы с датой в JS.
 
 Top
teddy
Отправлено: 23 Июля, 2013 - 18:32:45
Post Id


Участник


Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013  


Помог: 91 раз(а)




esterio
Тут дело не в том что бы получить часики и использовать это как-то )) Пример чисто для практики использования AJAX, не более... ) Но как то не хочет работать... Сейчас моя задача состоит в том что бы понять, почему оно не работает...
 
 Top
esterio
Отправлено: 23 Июля, 2013 - 18:35:59
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




CODE (javascript):
скопировать код в буфер обмена
  1. console.log(time);
 
 Top
teddy
Отправлено: 23 Июля, 2013 - 18:39:55
Post Id


Участник


Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013  


Помог: 91 раз(а)




esterio пишет:
console.log(time);

Это мне ничего не даст, я же ведь написал, что у меня проблема с тем, что не создается объект... А если объект не создан, соответственно о
CODE (javascript):
скопировать код в буфер обмена
  1. console.log(time);
не может быть и речи Растерялся
 
 Top
EuGen Администратор
Отправлено: 23 Июля, 2013 - 18:40:17
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




teddy
req внутри функции объявлен? Или в глобальной области? Иных коллизий нет?


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
teddy
Отправлено: 23 Июля, 2013 - 18:47:07
Post Id


Участник


Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013  


Помог: 91 раз(а)




EuGen
В глобальной области... именно в той последовательности, которую я описал...

Подробнее:
//здесь код(функция), который указан в ссылке(пример от Ammy)
функция называется getXmlHttp();
var req = getXmlHttp();//находится в глобальной видимости сразу после завершения описания функции getXmlHttp(); в переменную req записывается результат, который возвращает функция getXmlHttp();

И дальше тот код, который я описал
 
 Top
soffrick
Отправлено: 23 Июля, 2013 - 18:48:24
Post Id



Посетитель


Покинул форум
Сообщений всего: 379
Дата рег-ции: Май 2012  
Откуда: Россия, Москва


Помог: 17 раз(а)




error detected
Цитата:
readyStatus
->
readyState

(Добавление)
and
Цитата:
getResponseHeaders
->
getResponseHeader


(Добавление)
Спойлер (Отобразить)

(Отредактировано автором: 23 Июля, 2013 - 18:54:09)



-----
Правильный вопрос - уже половина правильного ответа!

p.s. индусы повсюду, будьте осторожны!
 
 Top
teddy
Отправлено: 23 Июля, 2013 - 18:53:50
Post Id


Участник


Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013  


Помог: 91 раз(а)




soffrick пишет:
error detected

Есть там косяк, но тут дело в другом... В любом случае выполнение этого кода не приведет ни к чему, хотя бы потому, что объект не создается...
 
 Top
soffrick
Отправлено: 23 Июля, 2013 - 18:55:57
Post Id



Посетитель


Покинул форум
Сообщений всего: 379
Дата рег-ции: Май 2012  
Откуда: Россия, Москва


Помог: 17 раз(а)




teddy пишет:
soffrick пишет:
error detected

Есть там косяк, но тут дело в другом... В любом случае выполнение этого кода не приведет ни к чему, хотя бы потому, что объект не создается...


почему у меня опять работает а у тебя нет?О_о
(Добавление)
Спойлер (Отобразить)

вот так даже


-----
Правильный вопрос - уже половина правильного ответа!

p.s. индусы повсюду, будьте осторожны!
 
 Top
teddy
Отправлено: 23 Июля, 2013 - 19:04:23
Post Id


Участник


Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013  


Помог: 91 раз(а)




soffrick
Спасибо! Теперь работает. Видимо я не очень хорошо себе представлял данный механизм. Поясни если не сложно. Я сравнил твой и мой вариант, вроде одно и тоже, за исключением исправления вышеуказанных тобою ошибок. Это как так получается, что при первом варианте мне js выдает ошибку в той строке, где я переменной req присваиваю объект? А после исправления ошибок она исчезает. Скрипт же на кашей читается, а сверху вниз, не?

И почему оно не работает в IE9? Аякс запросы насколько я знаю поддерживается в IE с 4 версии. Т.е выводится таймер но не тикает, а вот в хроме все норм

(Отредактировано автором: 23 Июля, 2013 - 19:06:50)

 
 Top
soffrick
Отправлено: 23 Июля, 2013 - 19:06:16
Post Id



Посетитель


Покинул форум
Сообщений всего: 379
Дата рег-ции: Май 2012  
Откуда: Россия, Москва


Помог: 17 раз(а)




teddy пишет:
одно и тоже, за исключением исправления вышеуказанных тобою ошибок

так и есть, но не помешает еще
CODE (javascript):
скопировать код в буфер обмена
  1. if(xmlhttp.status == 200)

(Добавление)
teddy пишет:
Это как так получается, что при первом варианте мне js выдает ошибку в той строке, где я переменной req присваиваю объект

ну поменяй местами Подмигивание


-----
Правильный вопрос - уже половина правильного ответа!

p.s. индусы повсюду, будьте осторожны!
 
 Top
teddy
Отправлено: 23 Июля, 2013 - 19:07:49
Post Id


Участник


Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013  


Помог: 91 раз(а)




soffrick пишет:
так и есть, но не помешает еще

А есть этому какое то объяснение? Логичное, желательно =)
 
 Top
soffrick
Отправлено: 23 Июля, 2013 - 19:09:26
Post Id



Посетитель


Покинул форум
Сообщений всего: 379
Дата рег-ции: Май 2012  
Откуда: Россия, Москва


Помог: 17 раз(а)




teddy пишет:
И почему оно не работает в IE9? Аякс запросы насколько я знаю поддерживается в IE с 4 версии. Т.е выводится таймер но не тикает, а вот в хроме все норм


http://forum.php.su/topic.php?fo...84751#1374384751
(Добавление)
teddy пишет:
А есть этому какое то объяснение? Логичное, желательно =)

Спойлер (Отобразить)

(Отредактировано автором: 23 Июля, 2013 - 19:15:25)



-----
Правильный вопрос - уже половина правильного ответа!

p.s. индусы повсюду, будьте осторожны!
 
 Top
teddy
Отправлено: 23 Июля, 2013 - 19:15:10
Post Id


Участник


Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013  


Помог: 91 раз(а)




soffrick
Благодарю. Можешь, когда хочешь ; )

Я почему то думал как в пыхе, тоесть

$mysqli = new mysqli("бла бла")//объект не создался из за кривых параметров;
$mysqli->query//уже не сработает так как объект не создался и искать ошибку где то после этого кода нет смысла

Так же думал про этот объект. Т.е если ошибка в строке где создается объект, то смотреть дальше уже нет смысла. Оказалось не совсем так

Всем спасибо за внимание и помощь Подмигивание Рад что вы у меня есть! )

(Отредактировано автором: 23 Июля, 2013 - 19:17:13)

 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB