Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Добавление данных в ajax (https://javascript.ru/forum/jquery/56459-dobavlenie-dannykh-v-ajax.html)

Alexei91 17.06.2015 10:00

Добавление данных в ajax
 
Есть ajax отправки формы:
$(document).on("submit", ".eform", function (e) {

        e.preventDefault();
        var result;

        var m_method = $(this).attr('method');

        var m_action = $(this).attr('action');

        var m_data = $(this).serialize();
            $.ajax({
                type: m_method,
                url: m_action,
                data: m_data,
                resetForm: 'true',
                success: (function (result) {
                    if (result == 'success') {
                        msg = 'Ваше сообщение было отправлено';
                    }
                    else {
                        msg = 'Ошибка';
                    }
                    return false;

                })
            });
});

при нажатии кнопки отправки формы на странице динамически подгружается контент, и этот же контент должен быть передан в форме. Но возникает проблема в том, что при первой отправке формы контент не передаётся-я так понял он просто не успевает попасть в форму до отправки. Подскажите как сделать в таком случае сбор данных после нажатия кнопки отправки?

laimas 17.06.2015 11:18

Цитата:

Сообщение от Alexei91
подгружается контент, и этот же контент должен быть передан в форме.

И зачем грузить с сервера в форму то, что опять будет передано на север, если оно и так уже на сервере? Что за контент?

Alexei91 17.06.2015 11:34

Вообще это я так жёстко делаю быстрый заказ.Наверно я неправильно выразился-контент не грузится-просто данные получаю. Там много чего завязано на корзину и я пытаюсь сделать так: по клику параметры товара передаются в корзину, и в форму, ну и форма отправляется ajax-ом. Первая отправка получается пустая. Если просто добавить товар в корзину и отправить ajax-ом работает уже с первого раза

laimas 17.06.2015 12:17

Добавление товара в корзину происходит на сервере, а не на клиенте. Если форма, это есть и выбор товара, и сразу же оформление заказа, то клиенту возвращать вообще ничего не надо - пришла форма, товары в форме помещены в корзину, а клиенту возвращается результат, или же форма для заполнения контактных данных для оформления заказа, или....

Иначе добавление товара в корзину это одна операция, а оформление заказа совсем иная. А для выполнения предварительного запроса перед основным запросом можно использовать метод .pipe() jQuery.

Alexei91 17.06.2015 15:30

пытался разобраться, но толком так и не понял-я наверно совсем неправильно всё объяснил. может пример поможет: http://mirintima.prodvizhenec.by/dlya-neyo/
там если нажать на кнопку "купить" выпадает окно-мне нужно реализовать ввод номера и кнопку заказать. Серверная часть вся сделана и добавление товара работает как надо. Сама форма при первой отправке передаёт пустые поля со значением товара, при второй нормально всё.

laimas 17.06.2015 17:30

Не видно, чтобы что-то работало, по крайне мере жмешь что В корзину, что Заказать, какое-то приведение перемещается в корзину, в любом из этих случаев, а чтобы корзина при этом пополнялась не видно. Не понятно нужен ли при этом ввод номера тф., или это по желанию, ибо реакции со стороны клиента и сервера никакой.
Если отправляется пустое, значит:

а) либо в форму при выборе на странице ничего не попадет, проверяйте это в отладчике (F12)

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

г) другие причины, которые надо выяснять


Часовой пояс GMT +3, время: 23:05.