Отправка строки JSON в качестве параметра к действию - PullRequest
3 голосов
/ 26 октября 2010

У меня есть кнопка в моем файле просмотра Ruby on Rails.

Во-первых, когда нажимается кнопка, выполняется вызов Ajax, который в ответ дает строку JSON.Пока я выполнил эту задачу.

Вот где я застрял: кнопка также перенаправляет меня на другое действие того же контроллера.Теперь я хочу отправить строку JSON, полученную JavaScript, в качестве параметра для этого действия.

Есть ли способ обойти это?

1 Ответ

3 голосов
/ 26 октября 2010

Ваш вызов ajax должен выглядеть примерно так:

... doing stuff before ...

$.ajax(
  url:'url-to-script',
  success: function(data) {
    var json = JSON.parse(data);
    $('#hidden-field').val(json); // set a hidden field in your form
    $('#from-id').submit();
  }
);

$('#submit-button').attr('disabled', 'true'); // disable the button
// set some spinny animation to notify the user that you are waiting.
// time out after a while if you don't get a response

... doing stuff after ...

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...