@kornilov-s

Можно ли сделать два action у формы?

Задача: подписчик регистрируются на сайте и попадает в базу. Но я хочу, чтобы он также попадал в базу подписчиков для рассылки писем, которая организована на стороннем сервисе. Можно ли один submit связать с двумя action? И как?
  • Вопрос задан
  • 2549 просмотров
Пригласить эксперта
Ответы на вопрос 4
kosolapus
@kosolapus
Если помогло - отмечайте решением
На раз. Через JS ajax'ом закидываете сериализованные данные формы в любое количество обработчиков и наслаждаетесь результатом
Если хотите чистым html - честно, не знаю, но предположительно - нет
Ответ написан
Decadal
@Decadal
форме нужно поместить дополнительный action в другой атрибут. Например:
<form action="href1" data-action="href2">...</form>


$("form").submit(function() {
        var $self = $(this);
        var url1 = $self.attr('action'); 
        var url2 = $self.data('action');
        $.ajax({
            type: $self.attr('method'),
            url: url1,
            data: $self.serialize(),
            success: function(data) {
                //... 
            },
        });
        $.ajax({
            type: $self.attr('method'),
            url: url2,
            data: $self.serialize(),
            success: function(data) {
                //... 
            },
        });
        return false;
   });


вот самая примитивная реализация, можете отталкиваться от неё
Ответ написан
Комментировать
@freekir
А в одном файле нельзя сразу описать два функции?

Если успех, то просто сначала выполняется сохранение в базу, а после идет сохранение в базу подписчиков. Не надо ни каких двух экшенов.

Т,е. в файле будут выполняться две функции по очереди.

Я бы так сделал.
Ответ написан
Комментировать
teke_teke
@teke_teke
programador
Делайте запрос на свой сервер, а со своего, если там все успешно, на другой. А иначе, если сразу пошлете как-то 2 запроса на разные сервисы, что если один из них не сработает, например, из-за проблем с сетью или валидацию не пройдет, или 2ой прийдет быстрее, чем 1ый?
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
26 апр. 2024, в 07:20
2000 руб./за проект
26 апр. 2024, в 06:46
1000 руб./в час
26 апр. 2024, в 05:31
1000 руб./за проект