Аякс успех и ошибка не стреляют.Данные сохраняются в БД правильно - PullRequest
0 голосов
/ 13 ноября 2018

Доброе утро, У меня есть некоторые проблемы, вызывающие успех или ошибку ajax-функции. Мои данные правильно сохранены в базе данных. Есть ли другой способ управления DOM через jquery?

Мой файл form.php выглядит следующим образом.

<?php
    // echo json_encode($_POST);
    $server = 'mysql:host=xxxxx;dbname=xxxxxxxxxxxx';
    $dbuser = 'xxxxxxxxxxx';
    $dbpass = 'xxxxxxxxxxx';


    try {
        $db = new PDO($server, $dbuser ,$dbpass);
    } catch (PDOException $e) {
        echo 'Connection failed: ' . $e->getMessage();
    }


    $query = $db -> prepare('INSERT INTO contact (namec,emailc,message) VALUES(?, ?, ?)');

    if($query->execute(array(json_encode($_POST['namec']), json_encode($_POST['emailc']), json_encode($_POST['message'])))) {
        echo json_encode(array('success' => true));
    } else {
        echo json_encode(array('success' => false));
    }

Мой contact.js выглядит так

$(document).ready(function () {
    $('#ContactForm').submit(function (e) {
        e.preventDefault();

        var that = $(this);

        $.ajax({
            url: that.attr('action'),
            type: that.attr('method'),
            dataType: 'json',
            data: that.serialize(),
            success: function () {
                if (res.success) {
                    console.log('ok');
                } else {
                    console.log('not ok');
                }
            },
            error: function (err) {
                console.log(err);
            }
        })
    })
})

При отправке я вижу это на console.log enter image description here

Может кто-нибудь рассказать об этом немного?

1 Ответ

0 голосов
/ 13 ноября 2018

Вам не хватает аргумента данных ответа в success callback

success: function (res){
                 //^^^ is missing
     if (res.success) {
          console.log('ok');
     } else {
         console.log('not ok');
     }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...