Как правильно выполнять AJAX запросы на добавление?

К примеру у меня есть форма, по нажатию на кнопку я выполняю AJAX запрос на добавление. Запросы выполняется, но вот как узнать успешно он выполнился или нет, не могу понять, и в зависимости от этого выводить сообщение для пользователя.

И еще такая проблема, форма выполнена с помощь всплывающего окна после нажатия на кнопку оно почему то исчезает, а запрос вставляется в адресную строку, хотя я не использую метод GET.

$('#addClientButton').click(function(){
    postAddClient();
});

function postAddClient(){
    var add = "1";
    var str = $('#addClientForm').serialize();
    var str = str + "&add=" + encodeURIComponent(add);
    $.ajax({
        type: "POST",
        data: str,
        url: "head.php",
        success: function(date){
            if(date == '1') {
                $('#min').empty();
                $('#min').append('Клиент успешно добавлен');
                $('#min').slideToggle('slow');
                setTimeout("$('#min').slideToggle('slow')", 2000);
            } else if(date == '2'){
                $('#min').empty();
                $('#min').append('Произошла ошибка');
                $('#min').slideToggle('slow');
                setTimeout("$('#min').slideToggle('slow')", 2000);
            }
        }
    });
}


А вот код сервака, условие не работает.

<?php
if($_POST['clientCode'] != "" && $_POST['clientName'] != "" && $_POST['clientLogin'] != "" && $_POST['clientPassword'] != "" && $_POST['clientManager'] != ""){
    $client_code = $_POST['clientCode'];
    $client_name = $_POST['clientName'];
    $client_login = $_POST['clientLogin'];
    $client_password = $_POST['clientPassword'];
    $client_manager = $_POST['clientManager'];

    $query = "INSERT INTO clients (code_client, name, login, password, id_manager) VALUES ('$client_code', '$client_name', '$client_login', '$client_password', '$client_manager')";

    $result = db_connection($query);

    if($result == 'TRUE') {
        echo 1;
    } else {
        echo 2;
    }

    exit;
}


В БД запись появляется.
  • Вопрос задан
  • 225 просмотров
Решения вопроса 1
@reifter
При нажатие кнопки id=addClientButton она отправляет форму обычным способом, поэтому нужно запретить ей нативное действие.
$('#addClientButton').click(function(){
    postAddClient();
    return false;
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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