Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отправка формы Ajax и вывод результатов 
:(
    Опции темы
vins32
Дата 10.3.2014, 23:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 12.5.2009
Где: Ukraine

Репутация: нет
Всего: нет



Здравствуйте, есть проблема, отправляю форму через $.ajax форма отправляется, скрипт на сервере выполняется, но никак не могу получить результат. Код:
Код

var msg = $('#addNewUser').serialize();
$.ajax({
type: 'POST',
url: 'add-user.php',
data: msg,
success: function(data) {
// повідомляємо про добавлення нового користувача
$().toastmessage('showSuccessToast', 'Добавлено нового користувача');
// очищаємо текстові поля 
$(".addNewUserText").val("");
// Добавляємо в таблицю юзерів ногового юзера
$("#allUsers > tbody:last").append(
    '<tr>'+ 
        '<td><input class="userRadio" type="radio" name="userRadio" /></td>'+ 
        '<td>'+$().html(data.userLogin)+'</td>'+ 
        '<td>'+
            'admin'+
        '</td>'+
        '<td>'+
            '<form class="userInfoForm" action="javascript:void(null);"  method="post">'+
                '<input type="image" class="deleteUser" src="images/icn_trash.png" title="Trash" />'+
                '<input type="text" name="userId" hidden="hidden" value="{$item.userId}" />'+
            '</form>'+
        '</td>'+
    '</tr>'
);
},
error:  function(xhr, str){
    // повідомляємо що сталася помилка
    $().toastmessage('showErrorToast', 'Сталася помилка, спробуйте ще раз');
    // очищаємо поля
    $(".addNewUserText").val("");
}
});

И код php
Код

# Добавлення нового користувача
    $userLogin = $_POST['userLogin'];
    $userPassword = $_POST['userPassword'];
    $userLevel = $_POST['userLevel'];
    # Формуємо ajax масив відповідь 
    $data = array(
        'userLogin' => $userLogin,
        'userLevel' => $userLevel,
    );
    
    echo json_encode($data);
    # рахуємо кіл-сть символів логіна і пароля
    $userLoginCount = strlen($userLogin);
    $userPasswordCount = strlen($userPassword);
    # переведемо записи адмін або модератор в числа
    if($userLevel === 'Admin')
        $userLevel = '0';
    elseif($userLevel === 'Moderator')
        $userLevel = '1';
        
    # повторна перевірка даних
    if(($userLogin != '' and $userPassword != '' and $userLevel != '') && ($userLoginCount > 3 and $userPasswordCount > 3))
    {
        # Хешуэмо пароль
        $userPassword = md5(md5($userPassword));
        mysql_query('INSERT INTO users (userLogin, userPassword, userLevel)values("'.$userLogin.'","'.$userPassword.'","'.$userLevel.'"    )');
    }
    # редірект на settings для подальшої ініціалізації SMARTY
    header("Location: settings.php");

Отправляем форму аяксом далее скрипт php обработает все и запишет в БД как получить значения которые были отправлены с формы назад в success: ? Пробовал data.userLogin выдает "undifined" Для чего нужно? Это форма добавления новых юзеров, нужно чтоб после отправки формы юзер добавился в таблицу ниже под формой, без перезагрузки страницы. Прошу помощи 

PM MAIL WWW   Вверх
vins32
Дата 11.3.2014, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 12.5.2009
Где: Ukraine

Репутация: нет
Всего: нет



Разобрался сам, в чем дело. Кому интересно:
Проблема была в том что я посыла не json данные а по сути сторку 
Код

input1='value1'&input2='value2'

а взамен просил у сервера json
Код

input1:'value1', input2: 'value2'

а так не получиться )
Решение:
добавляем dataType: 'json' говорим что даные json
Вместо
Код

var msg = $('#addNewUser').serialize();

Ставим
Код

var userName = $('#addNewUser [name=userLogin]').val();
var userPassword = $('#addNewUser [name=userPassword]').val();
var userLevel = $('#addNewUser [name=userLevel]').val();

Сервер получит данные json и результат будет тоже json что и нужно было.
Убил 1.5 дня но нашел в чем дело...

PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Применение библиотек | Следующая тема »


 




[ Время генерации скрипта: 0.0509 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.