Как получить ответ от сервера после ajax запроса?

Есть простенькая функция для добавления в бд нового пользователя. Я знаю, что нельзя так передавать пароль, просто хочу пока поучится основам..

<?php
$mysqli = new mysqli("192.168.1.37","root","","testbd");
if ($mysqli->connect_errno) {
    echo json_encode(array('msg'=>'Connection Error'));
    exit();
}
$mysqli->set_charset("utf8");

$username = $_POST['username'];
$password = $_POST['password'];

if($add = $mysqli->query("INSERT INTO users (id, username, password) VALUES (NULL, '$username', '$password')")) {
    echo json_encode(array('msg'=>'Success'));
}
else {
    if ($mysqli->errno ==1062) {
        echo json_encode(array('msg'=>'login error');
    }
}
?>


Есть простенькая форма:
<form id="userdata">
<input type="text" name="username">
<input type="text" name="password">
<button type="submit" class="btn">Добавить</button>
</form>


И есть скрипт :
$(document).ready(function () {
    $("#userdata").on('submit', function () {
        var data = $(this).serializeArray();
        var user = data[0].value;
        var pass = data[1].value;
        console.log(user +":" +pass);
        $.ajax({
            type: 'POST',
            url: '/add_new.php',
            dataType: 'json',
            data: {
                username: user,
                password: pass
            },
            success: function (response) {
                console.log(response.msg);
                alert(response.msg);
            }
        });
    });
});


Оно работает, но не могу получить ответ от сервера.. Т.е
success: function (response)

вообще не работает, даже на if(response) не реагирует..
Что делаю не так?
  • Вопрос задан
  • 2497 просмотров
Решения вопроса 1
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
success: (function (response) {
                console.log(response.msg);
                alert(response.msg);
            })

вроде
и проверить бы на ошибку
$.ajaxSetup({
            error: function (x, status, error) { alert("An error occurred: " + status + " nError: " + error);}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@kapitan7830
Посмотрите для начала, что выводит ваш скрипт take.ms/MHsmT
Если {"msg":"Success"}, то разбираться дальше с js, если ничего не выводит, то смотреть что не так в php
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы