2012-02-11 3 views
3

Я мог бы использовать некоторую помощь, конвертирующую этот запрос ajax в jQuery. Главное, что меня отключает, - это evalJS: param.
Вот оригинал:Преобразование ajax-прототипа в jQuery

var fields = $$('#sign_in *[name^="session"]'); 

    new Ajax.Request($F('consumer_login_url'), { 
     asynchronous: true, 
     evalJS: true, 
     method: 'post', 
     parameters: Form.serializeElements(fields), 
     onCreate: function(){ 
      $('one_click_wrap').addClassName('loading'); 
     }, 
     onSuccess: function() { 
      $('one_click_wrap').removeClassName('loading'); 
      return oneClickSuccess(); 
     }, 
    }); 

Вот где я застрял:

var fields = $('#sign_in *[name^="session"]'); 
    $.Ajax({ 
     url: 'consumer_login_url', 
     async: true, 
     method: 'post', 
     data: $(fields).serialize(), 
     beforeSend: function(){ 
      $('#one_click_wrap').addClass('loading'); 
     }, 
     complete: function() { 
      $('#one_click_wrap').removeClass('loading'); 
      return oneClickSuccess(); 
     }, 
    }); 

Спасибо всем за помощь!

ответ

0

Я думаю, вы захотите использовать аргумент dataType и установить его в «скрипт», описанный on this page.

Другие ноты:

  • Метод строчными Аякса, а не $ .ajax
  • Вам не нужно устанавливать асинхронной в true (по умолчанию)
  • За документацию here, обычно проще выбрать тег формы для метода сериализации.
Смежные вопросы