Форумы портала PHP.SU » Клиентская разработка » JavaScript & VBScript » jQuery

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

1. EuGen - 31 Мая, 2008 - 17:17:59 - перейти к сообщению
Сегодня решил заняться изучением этой библиотеки (уж очень ее хвалят).
Как водится, включаю ее в страницу:
CODE (text):
скопировать код в буфер обмена
  1.  
  2. <script src="jquery.js"/>
  3.  

Запускаю в FF при включенном FireBug, сообщается об ошибке - "missing } ...".
Смотрю код - указывается, что ошибка происходит в jquery.js, приводится сам исходник. Но по нему видно, что по какой-то причине он просто обрезается на определенной длине, и все. То есть подключается не полностью. Соответственно и ошибка возникает.
В исходнике, который лежит на сервере, после того места, которое в FireBug значится концом файла, еще очень много кода.
Если кто-либо сталкивался с подобными проблемами подключения, отпишитесь, пожалуйста, буду благодарен.
2. scuter - 31 Мая, 2008 - 17:53:42 - перейти к сообщению
там есть сжатый вариант библиотеки,
у меня такой проблемы как то никогда не возникало,
возможно FireBug показывает не правильно текст.
3. EuGen - 31 Мая, 2008 - 18:01:56 - перейти к сообщению
Я использую не сжатый вариант, пробовал разные версии, эффект тот же.
Дело не в том, что FireBug может ошибиться - все JavaScript на странице не работают (по понятной причине) после подключения jQuery.
4. scuter - 31 Мая, 2008 - 18:08:41 - перейти к сообщению
EuGen пишет:
Я использую не сжатый вариант, пробовал разные версии, эффект тот же.
Дело не в том, что FireBug может ошибиться - все JavaScript на странице не работают (по понятной причине) после подключения jQuery.

ну хорошо покажи код страницы попробую что нибудь сделать.
5. EuGen - 31 Мая, 2008 - 18:11:16 - перейти к сообщению
Нет, не стоит. Сейчас я заменил все переносы строк, работает.
Видимо, есть какие-то ограничения на длину. Причем, как ни странно, связано это еще и с числом строк.
6. Джур - 31 Мая, 2008 - 20:40:05 - перейти к сообщению
тожесамое наблюдал с FF+FireBug и дополнением к jQuery - Corn.
но проблема возникала, как ни странно из-за CSS кода... Так что сильно не удивляйтесь
7. D1mOn - 01 Июня, 2008 - 05:30:16 - перейти к сообщению
А что дает эта библиотека и что она умеет? )
(Добавление)
А что дает эта библиотека и что она умеет? ) (пока, что все, что она умеет это головная боль ::smile24.gif:: )
8. Джур - 01 Июня, 2008 - 05:39:21 - перейти к сообщению
D1mOn пишет:

А что дает эта библиотека и что она умеет? ) (пока, что все, что она умеет это головная боль Улыбка )

Ну... Библиотека распухла, не спорю, но называть ее бесполезной не советую ибо это нетак.
jQuery - позволяет работать с DOM деревом + AJAX...
в принципе перечисленого уже вполне зауши... Кто с этим сталкивался меня поймет Улыбка
но эта либа так-же имеет плагины.
Например Corn рисует фигурные и округлые рамочки.
9. EuGen - 01 Июня, 2008 - 11:25:42 - перейти к сообщению
Облегчает работу с AJAX. Хотя я пока еще не разобрался с проблемой функций callback в определении $.get и $.post (не вызываются по какой-то причине).
Удобно работать с DOM средствами этой библиотеки.
10. Джур - 01 Июня, 2008 - 13:17:48 - перейти к сообщению
EuGen пишет:
не разобрался с проблемой функций callback в определении $.get и $.post

А вы как к функции обращаетесь?
в этих функциях callback это не функция а ссылка на таковую, иначе ошибка.

11. EuGen - 01 Июня, 2008 - 14:02:02 - перейти к сообщению
Пробовал, на самом деле, различные варианты:
PHP:
скопировать код в буфер обмена
  1.  
  2. function onCategoryChange()
  3. {
  4.         $("#itSelect").empty();
  5.         $.get('/index.php?category_id='+$("#catSelect").attr("value"),  onAjaxSuccess);
  6. }
  7.  

или так:
PHP:
скопировать код в буфер обмена
  1.  
  2. function onCategoryChange()
  3. {
  4.         $("#itSelect").empty();
  5.         $.get(
  6.                         '/index.php',
  7.                         {
  8.                                 category_id: $("#catSelect").attr("value")
  9.                         },
  10.                         function()
  11.                         {
  12.                                 onAjaxSuccess
  13.                         }
  14.                 );
  15. }
  16.  

или так:
PHP:
скопировать код в буфер обмена
  1.  
  2. function onCategoryChange()
  3. {
  4.         $("#itSelect").empty();
  5.         $.get(
  6.                         '/index.php',
  7.                         {
  8.                                 category_id: $("#catSelect").attr("value")
  9.                         },
  10.                         onAjaxSuccess
  11.                 );
  12. }
  13.  

Определяя при этом функцию:
PHP:
скопировать код в буфер обмена
  1.  
  2. function onAjaxSuccess(xml)
  3. {
  4.         alert("!!");
  5. }
  6.  

Я думаю, это удастся решить. Просто пока это новая вещь, я ее раньше не использовал. Я еще не все форумы почитал.
12. Джур - 01 Июня, 2008 - 16:08:16 - перейти к сообщению
Первые два варианта ошибочны...
последний правильный... у меня работает, мой совет: сделайте откат версии библиотеки.
Видимо у вас нестабильная версия. Хотя 3-й вариант под 1.2.2 работал отлично
13. EuGen - 01 Июня, 2008 - 16:09:54 - перейти к сообщению
Использую 1.2.6. Возможно, Вы правы, новейшее - не значит лучшее. Буду пробовать более ранние версии.
Хм. Любопытно, что в onAjaxSuccess вход происходит, когда соответствующий параметр для index.php Не определен. То есть если category_id - правильный (1,2 и т.п.), то входа не происходит. А вот если он равен undefined, то функция вызывается.
Это опробовано на версии 1.2.2.
Едем далее...
Приехали.
Все оказалось довольно банально. jQuery, конечно же, был ни при чем. Я полагал, что условие "AJAX-запрос завершился успешно" равносильно условию того, что сервер выслал заголовок

Но это не так. Нужен еще правильно сформированный xml. А в нем у меня была явная ошибка (строго говоря, это был тест, а не xml вовсе).
Но как бы то ни было, отдельное спасибо пользователю Джур.

 

Powered by ExBB FM 1.0 RC1