Неверный ответ AJAX

Тема в разделе "PHP", создана пользователем Rigor, 17 сен 2011.

Модераторы: latteo
  1. Rigor

    Rigor

    Регистр.:
    1 июн 2008
    Сообщения:
    202
    Симпатии:
    33
    Есть такая JS функция
    PHP:
    function add() {
        var 
    cit = $('#thcit').val();
        
    jQuery.post("engine/add.php", { textcit }, function(data){
              }
            );
    }
    Страница формируется из шабонов вот так
    PHP:
     $body=file_get_contents('template/index.tpl');
        
    $formAdd=file_get_contents('template/addform.tpl');
        
    $body=str_replace('{body}',$formAdd,$body);
        echo 
    $body
    В addform есть такая строка
    <input type="button" value="Добавить" onclick="add()"/>
    add.php
    PHP:
    require_once "../db.php";
    // Вставка в бд
    echo 'true';
    В итоге ответом приходит не 'тру', а весь исходный код страницы(Смотрю в фаербаге). И в бау ничего не вставляется. В чем может быть проблема? Заранее спасибо
     
  2. chibit

    chibit Life sucks.

    Регистр.:
    4 дек 2007
    Сообщения:
    419
    Симпатии:
    285
    Этот код где находится? В add.php?
     
  3. steel_HILL

    steel_HILL Постоялец

    Регистр.:
    15 апр 2010
    Сообщения:
    53
    Симпатии:
    14
    Скорей всего в модуле DLE, хотя и могу ошибаться.
    Значит нужно смотреть все что выше (и ниже, если есть) строки
    - короче нужно полностью выложить код add.php и addform.tpl, иначе это просто будет игра в "угадайку"... В любом случае нужно в add.php поставить дополнительное условие для проверки записи в базу и отсылать в ответе аяксу хотя бы возвращаемое значение mysql_errno().
     
  4. Rigor

    Rigor

    Регистр.:
    1 июн 2008
    Сообщения:
    202
    Симпатии:
    33
    Выкладываю вапще все, что может быть свзяано с этим(что не выложил еще)
    Строчка .htacces

    RewriteRule /add /?p=add [L]

    В index.php

    PHP:
    elseif ($_GET['p']='add') {
        
    $body=file_get_contents('template/index.tpl');
        
    $formAdd=file_get_contents('template/addform.tpl');
        
    $body=str_replace('{body}',$formAdd,$body);
        echo 
    $body
        
    }
    addform.tpl

    PHP:
    <div id="addform">

    <
    table align="center">

    <
    tr><td><textarea id="thcit" style="width: 500px;height:300px"></
    <
    tr><td><input type="button" value="Добавить" onclick="add();"/></td></tr>


    </
    table>

    </
    div>
     
  5. steel_HILL

    steel_HILL Постоялец

    Регистр.:
    15 апр 2010
    Сообщения:
    53
    Симпатии:
    14
    Ну, если полная версия кода add.php строго засекречена :) - то на данный момент могу лишь помочь с проверкой запроса через аякс:

    HTML:
    
    <script type="text/javascript">
    <!--
    function trim( str, charlist ) {
    	charlist = !charlist ? ' \s\xA0' : charlist.replace(/([\[\]\(\)\.\?\/\*\{\}\+\$\^\:])/g, '\$1');
    	var re = new RegExp('^[' + charlist + ']+|[' + charlist + ']+$', 'g');
    	return str.replace(re, '');
    }
    
    function str2Bool(str) {
    	if (str.toLowerCase() == "true") { return true; }
    	else { return false; }
    }
    
    function add() {
    	var cit = $('#thcit').val();
    	jQuery.post("engine/add.php",
    		{ text: cit },
    		function(data){
    			alert('Boolean: ' + str2Bool(trim(data)));
    		},
    		'text'
    	);
    }
    //-->
    </script>
    
     
  6. Rigor

    Rigor

    Регистр.:
    1 июн 2008
    Сообщения:
    202
    Симпатии:
    33
    Как ни странно, это весь код add.php Но проблема в том, что скрипт даже в add.php не входит, т.к. даже если удалить его, все будет так же