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

Rigor

Профессор
Регистрация
1 Июн 2008
Сообщения
203
Реакции
35
Есть такая JS функция
PHP:
function add() {
    var cit = $('#thcit').val();
    jQuery.post("engine/add.php", { text: cit }, 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';
В итоге ответом приходит не 'тру', а весь исходный код страницы(Смотрю в фаербаге). И в бау ничего не вставляется. В чем может быть проблема? Заранее спасибо
 
Этот код где находится? В add.php?

Скорей всего в модуле DLE, хотя и могу ошибаться.
Rigor написал(а):
В итоге ответом приходит не 'тру', а весь исходный код страницы(Смотрю в фаербаге)
Значит нужно смотреть все что выше (и ниже, если есть) строки
- короче нужно полностью выложить код add.php и addform.tpl, иначе это просто будет игра в "угадайку"... В любом случае нужно в add.php поставить дополнительное условие для проверки записи в базу и отсылать в ответе аяксу хотя бы возвращаемое значение mysql_errno().
 
Выкладываю вапще все, что может быть свзяано с этим(что не выложил еще)
Строчка .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>
 
Ну, если полная версия кода 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>
 
Как ни странно, это весь код add.php Но проблема в том, что скрипт даже в add.php не входит, т.к. даже если удалить его, все будет так же
 
Назад
Сверху