Как перехватить текст ответа для обработчика событий ajax: success? - PullRequest
0 голосов
/ 09 апреля 2011

Возможно, мне не хватает чего-то очевидного, но я новичок в Prototype, пришедшем из jQuery.У меня есть ссылка, созданная с использованием link_to и remote => true, которая выводит работающую ссылку AJAX.

Вот мой JS:

Event.observe(window, 'load', function() {
    $$('.checkoff-link').each(function(element) {
        element.observe('ajax:success', successfulCheckOff);
    });
});

// when they tick it off, check it off
function successfulCheckOff(e) {
    // shrink and strike out the text
    var element = e.element();
    var label = $(getLabelIdFromLinkId(element.id));

    label.addClassName('strikeout');
}

Как получить responseText ofзапрос Ajax?Я пытаюсь передать данные от моего контроллера в случае успеха, и я не знаю, как их перехватить на уровне JS.

1 Ответ

1 голос
/ 09 апреля 2011

Я понял это с помощью этого удобного урока: https://github.com/rails/prototype-ujs

По сути, вся информация об ответах хранится в файле event.memo, поэтому вы можете использовать такой код:

var response = e.memo;

Чтобы затем получить доступ ко всему, что вам нужно.

И вы можете получить HTML / Text / JSON из ответа, используя метод responseText:

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