@Iossarian

В чем ошибка Ajax добавление записи?

C подобным кодом в другом проекте все хорошо отрабатывало, здесь же не работает. $post['id'] передается из форич. В чем моя ошибка? Надо ли в ajax- запрос передавать значение author_id из php или он сам его подхватит? В любом случае, пробовал передавать также через скрытое поле.

<div class="comment">
                    <textarea class="text" placeholder="Ваш комментарий..." name="comment" cols="100" rows="3"></textarea>
                    <input type="hidden" class="id" value="<?=$post['id'];?>" name="id">
                </div>
                <div class="comm"> 
                    <button class="submit" id="add" name="comm">Комментировать</button>
                </div>


$(document).ready(function () {
        $('button.submit').on('click', function () {
            var text = $('textarea.text').val();
            var id = $('input.id').val();
            $.ajax({
                method: "POST",
                url: "../newcom.php",
                data: {text: text, post_id: id}
            })
                .done(function () {
                    console.log(text);
                })
        })
    });


$values = [
    'author_id' => $_SESSION['user']['id'],
    'text' => $_POST['comment'],
    'post_id' => $_POST['id']
];
$sql = 'INSERT INTO comments (author_id, date, text, post_id) VALUES (:author_id, NOW(), :text, :post_id)';
$result = $db->prepare($sql, $values);
  • Вопрос задан
  • 75 просмотров
Решения вопроса 1
var text = $('textarea.text').val();

В селекте вы можете обращаться как угодно, хоть по имени хоть по классу, хоть по id.
Метод val() будет брать value="" выбранного элемента

data: {text: text, post_id: id}
Дальше в ajax вы указываете имена отправляемых переменных. В вашем случае это text и post_id

По этим же именам будут создаваться элементы в полученном POST. Т.е. $_POST['text'] и $_POST['post_id']
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
COSMOS Москва
от 120 000 до 150 000 руб.
от 40 000 руб.
Remarked Санкт-Петербург
от 60 000 до 120 000 руб.
21 марта 2019, в 00:19
5000 руб./за проект
20 марта 2019, в 20:02
1000 руб./за проект