$.ajax - проблемы с JQuery

Обсуждение вопросов клиентского программирования.

Модератор: Duncon

Ответить
Аватара пользователя
Oleg_Rus
Сообщения: 335
Зарегистрирован: 16 окт 2006, 09:56
Откуда: г.Улан-Удэ, респ.Бурятия, Российская Федерация
Контактная информация:

Доброе время суток, господа!

Только что наткнулся на такое непонятно-неприятное событие.

Значить так. есть страница index.php. Туда вживляется <?php include ('guestbook.php'); ?>. на странице guestbook не могу получить данные от сервера. Вот листинг (убрал все лишнее, как мне кажется)

Guestbook.php

Код: Выделить всё

<script type="text/javascript">
<!--
        var data = $.ajax ( {
                url: "body/scripts/ajax.php",
                type: "POST",
                data: ({func:'func'}),
                dataType: "html",
                async: false
            }
        ).responseText;
        alert(data);
    //-->
</script>
<div id="test" />
<div id="record_list" />
<div id="send_form" />
ajax.php

Код: Выделить всё

<?
    header('Content-Type: text/html; charset=utf-8');
    if (isset($_POST['func'])) echo '<b>testtt</b>';
?>
Так вот, сама проблема вот в чем. На странице guestbook.php, когда просматриваю приходящие данные через alert(data) - все нормально. А вот стоит только мне засунуть эти данные в какой-нить div - ничего не показывает.

jquery-скрипт, для отображения в div`e

Код: Выделить всё

$('#test').append(data); 
грешу в сторону неправильного скрипта jquery, но не могу понять в чем ИМЕННО проблема.
e-mail: garmayev@yandex.ru
---------------------------------------------------------------------------
<a href="http://nick-name.ru/sertificates/711965/"><img src="http://nick-name.ru/img.php?nick=Garmay ... =2&text=t5" alt="Никнейм Garmayev зарегистрирован!" /></a>
Аватара пользователя
AiK
Сообщения: 2287
Зарегистрирован: 13 фев 2004, 18:14
Откуда: СПб
Контактная информация:

Правила хорошего тона вебмастеринга требуют
Во-первых: загрузки общераспространённых скриптов из общественных мест. Например от Гугля:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
и
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.8.23/jquery-ui.min.js"></script>

Тут и скрипты правильные и конечный пользователь не будет их тянуть в 100500-й раз - велика вероятность, что скрипт уже есть в кэше.

Во-вторых: прежде чем использовать переменную, её необходимо проверить, что она определена.

Т.е. нужно убедиться, что существует элемент #test, который лучше получить по getElementById() и что data не пустая.
Даже самый дурацкий замысел можно воплотить мастерски
Аватара пользователя
Oleg_Rus
Сообщения: 335
Зарегистрирован: 16 окт 2006, 09:56
Откуда: г.Улан-Удэ, респ.Бурятия, Российская Федерация
Контактная информация:

1. Библиотека jQuery - взята как раз с гугля на локальный по причине непостоянного интернета. Тупо вышел на Библиотеку и сохранил текстовую часть. При выкладке в инет сцылка будет поправлена.
2. Элемент #test - заведомо существует, насчет data - да, забыл вписать в код проверку, но проблема не в этом. Проблема интересная - если использовать alert(data) - все отображается, а вот при добавлении на страницу $('#test').append(data); - играет в молчанку...
e-mail: garmayev@yandex.ru
---------------------------------------------------------------------------
<a href="http://nick-name.ru/sertificates/711965/"><img src="http://nick-name.ru/img.php?nick=Garmay ... =2&text=t5" alt="Никнейм Garmayev зарегистрирован!" /></a>
GeorgeSoca
Сообщения: 95
Зарегистрирован: 12 окт 2015, 04:09
Откуда: Guam
Контактная информация:

On our web, you can feel safe! Besides we use mirrored hard drives on all of our servers so we also take backup twice a day on separate servers. We use ISPmanager as the control panel. ISPmanager is a control panel that makes it easy to administer its Web site. With us you can place as many websites and domains you wish for a hosting account.
virtual hosting
Ответить