Как не следовать отправке формы после отправки данных в Rails

0

На мой взгляд, у меня есть форма.

Я хочу только отправить данные без предоставления какого-либо другого шаблона или после отправки нового URL-адреса.

Есть ли какие-либо решения для этого, помимо структурирования всего этого в AJAX?

Редакция:

У меня есть многочастная форма. Часть 1 передает данные в кеш (используя AJAX), затем я использую JQuery, чтобы скрыть эту часть формы и показать часть 2. Часть 2 - это то, что передает основные данные контроллеру rails. Это действие контроллера отвечает за извлечение ранее кэшированных данных и отправку запроса POST в API, который хранит части 1 и часть 2 в базе данных.

Что я хотел бы сделать: Попросите приложение rails получить данные формы и обработать запрос, затем я мог бы использовать запрос AJAX для добавления данных на страницу (очистка формы и отображение собранных данных, представленных, если сообщение было успешным, и сообщение об ошибке, если нет).

ОБНОВИТЬ:

Я пробовал следующее и ничего не делает при нажатии:

$('#button').click(function(event){
        event.preventDefault();
        $(this).submit(); //also tried .send();
    });
  • 0
    Мы выдвигаем некоторые идеи, но немного наносим удар в темноте. возможно, вы сможете объяснить, чего вы пытаетесь достичь и почему вы думаете, что вам нужно именно это решение, и тогда мы сможем выяснить, как лучше всего вам помочь.
  • 0
    Я отправил правку, которая должна помочь объяснить, что я пытаюсь выполнить
Показать ещё 2 комментария
Теги:
post

2 ответа

0
Лучший ответ

вы можете перенаправить на ту же страницу или, возможно, сделать это

$('#selector').click(function(event){
        event.preventDefault();
//Do other thing, or maybe nothing
    });
  • 0
    Если я предотвращу дефолт, не остановит ли отправка данных?
  • 0
    Идея заключалась в том, что вы предотвратили бы действие по умолчанию (т.е. отправка и перенаправление), а после предотвращения по умолчанию попросите его просто отправить вместо
Показать ещё 3 комментария
0

В контроллере выполните следующие действия:

respond_to do |format|
  format.all { render nothing: true, status: 200 }
end

Ещё вопросы

Сообщество Overcoder
Наверх
Меню