Robert Rochon
Robert Rochon

Reputation: 21

Ajax success and error not firing. Data is saved in db correctly

Good morning, I have some issues calling ajax function success or error. My data is saved correctly in database. There is any other way to control DOM via jquery?

My form.php file looks like this.

<?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));
    }

My contact.js looks like this

$(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);
            }
        })
    })
})

On submit i see this on console.log enter image description here

Can someone give a little brief about this?

Upvotes: 0

Views: 18

Answers (1)

charlietfl
charlietfl

Reputation: 171669

You are missing the response data argument in success callback

success: function (res){
                 //^^^ is missing
     if (res.success) {
          console.log('ok');
     } else {
         console.log('not ok');
     }
}

Upvotes: 3

Related Questions