Делаю загрузку комментариев в БД на аяксе. ПХП скрипт должен вернуть данные сразу после загрузки, чтобы новый комментарий сразу выводился на странице.
$.ajax ({
url: "insertcomment.php",
type: "POST",
data: ({id: 1, name: commentName, email: commentEmail, text: commentText}),
dataType: "json",
success: insComment()
});
}
function insComment (data, d)
{
var comments = document.getElementById("comments");
var firstComment = comments.getElementsByTagName[0];
var newCommentDiv = document.createElement('div');
newCommentDiv.className = 'one-com';
newCommentDiv.innerHTML = '<div class="c-name"><span>' + data["name"] + '</span></div><div class="c-text">' + data["text"] + '</div>';
alert(d);
comments.insertBefore(newCommentDiv, firstComment);
}
Вот ПХП обработчик, который заносит комментарий в БД и возвращает данные.
$name = preg_replace('/(<([^>]+)>)/U', '', $name);
$text = preg_replace('/(<([^>]+)>)/U', '', $text);
$name = mysql_real_escape_string($name);
$email = mysql_real_escape_string($email);
$text = mysql_real_escape_string($text);
$query = "INSERT INTO `comments` (`article_id`, `user_name`,`user_email`,`text`) VALUES ('{$articleId}', '{$name}','{$email}','{$text}')";
mysql_query($query);
$resData["name"] = htmlspecialchars($name);
$resData["text"] = htmlspecialchars($text);
echo json_encode($resData);
Комментарий в базу заносится, но ничего не возвращается, либо возвращается что-то некорректное. Пробовал выводить переменную data alert-ом, пишет undefined. В ПХП скрипте пробовал просто возвращать какую-нибудь строку или цифру, но также. Даже переменную d пробовал алертом выводить, то же самое.