Проблема с jQuery

Discussion in 'PHP' started by jenaDI, 18 Apr 2010.

  1. jenaDI

    jenaDI New Member

    Joined:
    14 Mar 2010
    Messages:
    25
    Likes Received:
    0
    Reputations:
    0
    Привет всем , вообщем, разрабатываю комментирование , и возникла такая проблема - не выводит результат ajax-запроса.
    FireBug пишет:
    Код JS:
    PHP:
    ///////////////////////////////////////////////////////////////////////
    //Комментирование
    ///////////////////////////////////////////////////////////////////////

    //Возврат к форме
    function upCommentForm() {
        $(
    '#addComment').slideDown(350,function(){
            $(
    'body').animate({scrollTop: $('#addComment').attr('offsetTop')}, 0);
        });    
        return 
    false;    
    }

    //Добавление комментария
    function addCommentForm() {
        
        
        
        $(
    '#buttonAddComment').attr("disabled"true); //Делаем кнопку невидимой
        
        
    var textComment = $("textarea[name$='textComment']").val(); //Текст комментария
        
    if(!textComment)  
            return 
    false;

        
        var 
    type = $("input[name$='type']").val(); //Тип комментирования
        
    var objectId = $("input[name$='objectId']").val(); //Объект комментирования(id чего-либо)
        
        //ajax request
        
    $.ajax({
            
    url'comments.take.php',  //url  take file
            
    dataType "html",           // тип загружаемых данных
            
    type"POST" ,  //post-запрос
            
    data: {'textComment' textComment 'type' type 'objectId' objectId}, //Данные
            
            
    beforeSend: function(){
                    $(
    "#loadComments").html("<img src=\"pic/load.gif\" alt=\"Зазрузка\">"); //Загрузка 
            
    },
            
    complete: function(data textType) {
                    
                    $(
    "#loadComments").empty(); //Убираем загрузку
                    
    $("#setComment").html(data); //Выводим результат
                    
    $('#buttonAddComment').removeAttr("disabled");
                    
                    
            }

        });
        
    }
    Файл ответа на ajax-запрос:
    PHP:
    <?
    //------------------------------------------------//
    //LiteTracker Source
    //by Жэнадий
    //icq: 455775353
    //------------------------------------------------//
    //Обработка комментарования
    //------------------------------------------------//


    #Подключаем главный файл
    require "include/main.php";


    //////////////////////////////////////////////////////////////////////
    //Определяем тип комментирования
    //////////////////////////////////////////////////////////////////////
    $requestType =  $_SERVER['HTTP_X_REQUESTED_WITH'];
    if(
    $requestType == 'XMLHttpRequest') {
        
    header("Content-Type: text/html; charset=".$language['charset']."");
        function 
    bark($msg "" $type 'success') {  stdmsg($msg);die(); }
    } else {
        function 
    bark($msg "" $type 'success') { stderr('Ошибка',$msg); }
    }    


    //Запрещаем комментировать гостям
    if(!$CURUSER) die('Вы не авторизированы');

    //////////////////////////////////////////////////////////////////////
    //Объявляем переменные
    //////////////////////////////////////////////////////////////////////
    $type = (string)$_POST['type']; //Тип комментирования

    //Текст комментария
    if($requestType == 'XMLHttpRequest'
        
    $textComment =  ($_POST['textComment'] == '' bark("Введите текст комментария") : iconv('utf-8'$language['charset'] , $_POST['textComment']));
    else    
        
    $textComment = ($_POST['textComment'] == '' bark("Введите текст комментария") : (string)$_POST['textComment']); 
        
    $objectId = (int)$_POST['objectId']; //Номер объекта
    //////////////////////////////////////////////////////////////////////
    $tableName 'comments_'.$type//Имя таблицы
    $objectName 'id_'.$type//К чему мы добавляем комментарий
    $idUser = (int)$CURUSER['id']; //Номер пользователя
    //////////////////////////////////////////////////////////////////////
    $insert = array();
    $insert[]  = "text=".sqlesc($text);
    $insert[]  = "added=NOW()";
    $insert[]  = "id_user=".sqlesc($idUser);
    $insert[]  = $objectName."=".sqlesc($objectId);

    //insertComment
    $insertComment sql_query("INSERT INTO ".$tableName." SET  ".implode("," $insert)) or sqlerr(__FILE__ __LINE__);
    if(!
    $insertCommentbark("Ошибка при добавлении комментария");
    //////////////////////////////////////////////////////////////////////
    echo $textComment;

    ?>
    Вывод всего: (функции)
    PHP:
    <?
    //------------------------------------------------//
    //LiteTracker Source
    //by Жэнадий
    //icq: 455775353
    //------------------------------------------------//

    //Форма добавления комментария
    function addComment($type "" ,$objectId "") {
        global 
    $CURUSER;
        
        if(
    $CURUSER)  
        {
            echo 
    '<div id="addComment" style="display:none;">';
            
    begin_frame('');
            echo 
    '<form name="addComment" method="POST" action="comments.take.php" ';
            
    textbbcode("addComment""textComment" ,  htmlspecialchars($_POST['textComment']));
            echo 
    '<br>';
            echo 
    '<button class="fg-button ui-state-default ui-priority-secondary ui-corner-all" onClick="addCommentForm();"  type="button"  name="buttonAddComment">Добавить комментарий</button>';
            echo 
    '<input type="hidden" value="'.$objectId.'" name="objectId">';
            echo 
    '<input type="hidden" value="'.$type.'" name="type">';
            echo 
    '</form>';
            
    end_frame();
            echo 
    '</div>';
        }    
    }

    //Форма добавления комментария
    function listComment($type "" $objectId "") {
        global 
    $CURUSER $language;
        
        
        
        
    //Js functions
        
    echo '<script src="js/comments.js"> </script>';
        
        
    //////////////////////////////////////////////////////////////////
        //Форма добавления
        //////////////////////////////////////////////////////////////////
        
    addComment($type $objectId);
            
        
        
    //////////////////////////////////////////////////////////////////
        //Вывод комментариев
        //////////////////////////////////////////////////////////////////
        
        //Query to database
        
    $query  "SELECT comments_".$type.".* , 
                          users.* ,
                          "
    .$type.".*
                   FROM comments_"
    .$type."
                   LEFT JOIN users ON users.id = comments_"
    .$type.".id_user
                   LEFT JOIN "
    .$type." ON ".$type.".id =  comments_".$type.".id_".$type."";
        
    $sql sql_query($query) or sqlerr(__FILE__ __LINE__);
        
        
        
    begin_frame($language['comments'].'<load id="loadComments"></load>');
        echo (
    $CURUSER stdmsg("Вы можете <a href=\"#upCommentForm\" onClick=\"upCommentForm();return false;\">добавить комментарий</a>") : "Вы вошли как <b>гость</b>" );
        
        
        
    //Div для новых комментарий
        
    echo '<div id="setComment"></div>';
        
        
    //Проверка
        
    if(!mysql_num_rows($sql)) 
        {
            
    stdmsg("Комментариев нет" '' 'error');
        }
        else
        {
            
            
            
    //Выводим в цикле комментарии
            
    while($arr  mysql_fetch_object($sql))
            {
                echo 
    '<div id="comment'.$arr->id.'">';
                echo 
    $arr->text;
                echo 
    '</div>';
            }
            
        }
        
        
    end_frame();
        
    }






    ?>




    ПОМОГИТЕ ПОЖАЛУЙСТА
     
  2. Byte_

    Byte_ Elder - Старейшина

    Joined:
    7 Sep 2008
    Messages:
    143
    Likes Received:
    34
    Reputations:
    2
    Лучше всего скинь ссылку на сайт. Попробуй использовать альтернативу. Например вместо $.ajax $.post